diff options
Diffstat (limited to 'packages/Python/lldbsuite/test/crashinfo.c')
-rw-r--r-- | packages/Python/lldbsuite/test/crashinfo.c | 64 |
1 files changed, 0 insertions, 64 deletions
diff --git a/packages/Python/lldbsuite/test/crashinfo.c b/packages/Python/lldbsuite/test/crashinfo.c deleted file mode 100644 index 19013468bb260..0000000000000 --- a/packages/Python/lldbsuite/test/crashinfo.c +++ /dev/null @@ -1,64 +0,0 @@ -/****************************************************************************** - The LLVM Compiler Infrastructure - - This file is distributed under the University of Illinois Open Source - License. See LICENSE.TXT for details. - ****************************************************************************** - -* This C file vends a simple interface to set the Application Specific Info -* on Mac OS X through Python. To use, compile as a dylib, import crashinfo -* and call crashinfo.setCrashReporterDescription("hello world") -* The testCrashReporterDescription() API is simply there to let you test that this -* is doing what it is intended to do without having to actually cons up a crash -******************************************************************************/ - -#include <Python/Python.h> -#include <stdlib.h> -#include <string.h> -#include <stdio.h> - -void *__crashreporter_info__ = NULL; - -asm(".desc ___crashreporter_info__, 0x10"); - -static PyObject* setCrashReporterDescription(PyObject* self, PyObject* string) -{ - if (__crashreporter_info__) - { - free(__crashreporter_info__); - __crashreporter_info__ = NULL; - } - - if (string && PyString_Check(string)) - { - Py_ssize_t size = PyString_Size(string); - char* data = PyString_AsString(string); - if (size > 0 && data) - { - ++size; // Include the NULL terminateor in allocation and memcpy() - __crashreporter_info__ = malloc(size); - memcpy(__crashreporter_info__, data, size); - return Py_True; - } - } - return Py_False; -} - -static PyObject* testCrashReporterDescription(PyObject*self, PyObject* arg) -{ - int* ptr = 0; - *ptr = 1; - return Py_None; -} - -static PyMethodDef crashinfo_methods[] = { - {"setCrashReporterDescription", setCrashReporterDescription, METH_O}, - {"testCrashReporterDescription", testCrashReporterDescription, METH_O}, - {NULL, NULL} -}; - -void initcrashinfo() -{ - (void) Py_InitModule("crashinfo", crashinfo_methods); -} - |