Ignore:
Timestamp:
Mar 19, 2014, 11:31:01 PM (11 years ago)
Author:
dmik
Message:

python: Merge vendor 2.7.6 to trunk.

Location:
python/trunk
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • python/trunk

  • python/trunk/Mac/Modules/scrap/_Scrapmodule.c

    r2 r391  
    1111/* Macro to test whether a weak-loaded CFM function exists */
    1212#define PyMac_PRECHECK(rtn) do { if ( &rtn == NULL )  {\
    13         PyErr_SetString(PyExc_NotImplementedError, \
    14         "Not available in this shared library/OS version"); \
    15         return NULL; \
     13    PyErr_SetString(PyExc_NotImplementedError, \
     14    "Not available in this shared library/OS version"); \
     15    return NULL; \
    1616    }} while(0)
    1717
     
    2828
    2929typedef struct ScrapObject {
    30         PyObject_HEAD
    31         ScrapRef ob_itself;
     30    PyObject_HEAD
     31    ScrapRef ob_itself;
    3232} ScrapObject;
    3333
    3434PyObject *ScrapObj_New(ScrapRef itself)
    3535{
    36         ScrapObject *it;
    37         it = PyObject_NEW(ScrapObject, &Scrap_Type);
    38         if (it == NULL) return NULL;
    39         it->ob_itself = itself;
    40         return (PyObject *)it;
     36    ScrapObject *it;
     37    it = PyObject_NEW(ScrapObject, &Scrap_Type);
     38    if (it == NULL) return NULL;
     39    it->ob_itself = itself;
     40    return (PyObject *)it;
    4141}
    4242int ScrapObj_Convert(PyObject *v, ScrapRef *p_itself)
    4343{
    44         if (!ScrapObj_Check(v))
    45         {
    46                 PyErr_SetString(PyExc_TypeError, "Scrap required");
    47                 return 0;
    48         }
    49         *p_itself = ((ScrapObject *)v)->ob_itself;
    50         return 1;
     44    if (!ScrapObj_Check(v))
     45    {
     46        PyErr_SetString(PyExc_TypeError, "Scrap required");
     47        return 0;
     48    }
     49    *p_itself = ((ScrapObject *)v)->ob_itself;
     50    return 1;
    5151}
    5252
    5353static void ScrapObj_dealloc(ScrapObject *self)
    5454{
    55         /* Cleanup of self->ob_itself goes here */
    56         self->ob_type->tp_free((PyObject *)self);
     55    /* Cleanup of self->ob_itself goes here */
     56    self->ob_type->tp_free((PyObject *)self);
    5757}
    5858
    5959static PyObject *ScrapObj_GetScrapFlavorFlags(ScrapObject *_self, PyObject *_args)
    6060{
    61         PyObject *_res = NULL;
    62         OSStatus _err;
    63         ScrapFlavorType flavorType;
    64         ScrapFlavorFlags flavorFlags;
    65         if (!PyArg_ParseTuple(_args, "O&",
    66                               PyMac_GetOSType, &flavorType))
    67                 return NULL;
    68         _err = GetScrapFlavorFlags(_self->ob_itself,
    69                                    flavorType,
    70                                    &flavorFlags);
    71         if (_err != noErr) return PyMac_Error(_err);
    72         _res = Py_BuildValue("l",
    73                              flavorFlags);
    74         return _res;
     61    PyObject *_res = NULL;
     62    OSStatus _err;
     63    ScrapFlavorType flavorType;
     64    ScrapFlavorFlags flavorFlags;
     65    if (!PyArg_ParseTuple(_args, "O&",
     66                          PyMac_GetOSType, &flavorType))
     67        return NULL;
     68    _err = GetScrapFlavorFlags(_self->ob_itself,
     69                               flavorType,
     70                               &flavorFlags);
     71    if (_err != noErr) return PyMac_Error(_err);
     72    _res = Py_BuildValue("l",
     73                         flavorFlags);
     74    return _res;
    7575}
    7676
    7777static PyObject *ScrapObj_GetScrapFlavorSize(ScrapObject *_self, PyObject *_args)
    7878{
    79         PyObject *_res = NULL;
    80         OSStatus _err;
    81         ScrapFlavorType flavorType;
    82         Size byteCount;
    83         if (!PyArg_ParseTuple(_args, "O&",
    84                               PyMac_GetOSType, &flavorType))
    85                 return NULL;
    86         _err = GetScrapFlavorSize(_self->ob_itself,
    87                                   flavorType,
    88                                   &byteCount);
    89         if (_err != noErr) return PyMac_Error(_err);
    90         _res = Py_BuildValue("l",
    91                              byteCount);
    92         return _res;
     79    PyObject *_res = NULL;
     80    OSStatus _err;
     81    ScrapFlavorType flavorType;
     82    Size byteCount;
     83    if (!PyArg_ParseTuple(_args, "O&",
     84                          PyMac_GetOSType, &flavorType))
     85        return NULL;
     86    _err = GetScrapFlavorSize(_self->ob_itself,
     87                              flavorType,
     88                              &byteCount);
     89    if (_err != noErr) return PyMac_Error(_err);
     90    _res = Py_BuildValue("l",
     91                         byteCount);
     92    return _res;
    9393}
    9494
    9595static PyObject *ScrapObj_GetScrapFlavorData(ScrapObject *_self, PyObject *_args)
    9696{
    97         PyObject *_res = NULL;
    98         OSStatus _err;
    99         ScrapFlavorType flavorType;
    100         Size byteCount;
    101 
    102         if (!PyArg_ParseTuple(_args, "O&",
    103                               PyMac_GetOSType, &flavorType))
    104                 return NULL;
    105         _err = GetScrapFlavorSize(_self->ob_itself,
    106                                   flavorType,
    107                                   &byteCount);
    108         if (_err != noErr) return PyMac_Error(_err);
    109         _res = PyString_FromStringAndSize(NULL, (int)byteCount);
    110         if ( _res == NULL ) return NULL;
    111         _err = GetScrapFlavorData(_self->ob_itself,
    112                                   flavorType,
    113                                   &byteCount,
    114                                   PyString_AS_STRING(_res));
    115         if (_err != noErr) {
    116                 Py_XDECREF(_res);
    117                 return PyMac_Error(_err);
    118         }
    119         return _res;
     97    PyObject *_res = NULL;
     98    OSStatus _err;
     99    ScrapFlavorType flavorType;
     100    Size byteCount;
     101
     102    if (!PyArg_ParseTuple(_args, "O&",
     103                          PyMac_GetOSType, &flavorType))
     104        return NULL;
     105    _err = GetScrapFlavorSize(_self->ob_itself,
     106                              flavorType,
     107                              &byteCount);
     108    if (_err != noErr) return PyMac_Error(_err);
     109    _res = PyString_FromStringAndSize(NULL, (int)byteCount);
     110    if ( _res == NULL ) return NULL;
     111    _err = GetScrapFlavorData(_self->ob_itself,
     112                              flavorType,
     113                              &byteCount,
     114                              PyString_AS_STRING(_res));
     115    if (_err != noErr) {
     116        Py_XDECREF(_res);
     117        return PyMac_Error(_err);
     118    }
     119    return _res;
    120120}
    121121
    122122static PyObject *ScrapObj_PutScrapFlavor(ScrapObject *_self, PyObject *_args)
    123123{
    124         PyObject *_res = NULL;
    125         OSStatus _err;
    126         ScrapFlavorType flavorType;
    127         ScrapFlavorFlags flavorFlags;
    128         char *flavorData__in__;
    129         int flavorData__in_len__;
    130         if (!PyArg_ParseTuple(_args, "O&Ks#",
    131                               PyMac_GetOSType, &flavorType,
    132                               &flavorFlags,
    133                               &flavorData__in__, &flavorData__in_len__))
    134                 return NULL;
    135         _err = PutScrapFlavor(_self->ob_itself,
    136                               flavorType,
    137                               flavorFlags,
    138                               (Size)flavorData__in_len__,
    139                               flavorData__in__);
    140         if (_err != noErr) return PyMac_Error(_err);
    141         Py_INCREF(Py_None);
    142         _res = Py_None;
    143         return _res;
     124    PyObject *_res = NULL;
     125    OSStatus _err;
     126    ScrapFlavorType flavorType;
     127    ScrapFlavorFlags flavorFlags;
     128    char *flavorData__in__;
     129    int flavorData__in_len__;
     130    if (!PyArg_ParseTuple(_args, "O&Ks#",
     131                          PyMac_GetOSType, &flavorType,
     132                          &flavorFlags,
     133                          &flavorData__in__, &flavorData__in_len__))
     134        return NULL;
     135    _err = PutScrapFlavor(_self->ob_itself,
     136                          flavorType,
     137                          flavorFlags,
     138                          (Size)flavorData__in_len__,
     139                          flavorData__in__);
     140    if (_err != noErr) return PyMac_Error(_err);
     141    Py_INCREF(Py_None);
     142    _res = Py_None;
     143    return _res;
    144144}
    145145
    146146static PyObject *ScrapObj_GetScrapFlavorCount(ScrapObject *_self, PyObject *_args)
    147147{
    148         PyObject *_res = NULL;
    149         OSStatus _err;
    150         UInt32 infoCount;
    151         if (!PyArg_ParseTuple(_args, ""))
    152                 return NULL;
    153         _err = GetScrapFlavorCount(_self->ob_itself,
    154                                    &infoCount);
    155         if (_err != noErr) return PyMac_Error(_err);
    156         _res = Py_BuildValue("l",
    157                              infoCount);
    158         return _res;
     148    PyObject *_res = NULL;
     149    OSStatus _err;
     150    UInt32 infoCount;
     151    if (!PyArg_ParseTuple(_args, ""))
     152        return NULL;
     153    _err = GetScrapFlavorCount(_self->ob_itself,
     154                               &infoCount);
     155    if (_err != noErr) return PyMac_Error(_err);
     156    _res = Py_BuildValue("l",
     157                         infoCount);
     158    return _res;
    159159}
    160160
    161161static PyObject *ScrapObj_GetScrapFlavorInfoList(ScrapObject *_self, PyObject *_args)
    162162{
    163         PyObject *_res = NULL;
    164         PyObject *item;
    165         OSStatus _err;
    166         UInt32 infoCount;
    167         ScrapFlavorInfo *infolist = NULL;
    168         int i;
    169        
    170         if (!PyArg_ParseTuple(_args, ""))
    171                 return NULL;
    172         _err = GetScrapFlavorCount(_self->ob_itself,
    173                                    &infoCount);
    174         if (_err != noErr) return PyMac_Error(_err);
    175         if (infoCount == 0) return Py_BuildValue("[]");
    176        
    177         if ((infolist = (ScrapFlavorInfo *)malloc(infoCount*sizeof(ScrapFlavorInfo))) == NULL )
    178                 return PyErr_NoMemory();
    179        
    180         _err = GetScrapFlavorInfoList(_self->ob_itself, &infoCount, infolist);
    181         if (_err != noErr) {
    182                 free(infolist);
    183                 return NULL;
    184         }
    185         if ((_res = PyList_New(infoCount)) == NULL ) {
    186                 free(infolist);
    187                 return NULL;
    188         }
    189         for(i=0; i<infoCount; i++) {
    190                 item = Py_BuildValue("O&l", PyMac_BuildOSType, infolist[i].flavorType,
    191                         infolist[i].flavorFlags);
    192                 if ( !item || PyList_SetItem(_res, i, item) < 0 ) {
    193                         Py_DECREF(_res);
    194                         free(infolist);
    195                         return NULL;
    196                 }
    197         }
    198         free(infolist);
    199         return _res;
     163    PyObject *_res = NULL;
     164    PyObject *item;
     165    OSStatus _err;
     166    UInt32 infoCount;
     167    ScrapFlavorInfo *infolist = NULL;
     168    int i;
     169
     170    if (!PyArg_ParseTuple(_args, ""))
     171        return NULL;
     172    _err = GetScrapFlavorCount(_self->ob_itself,
     173                               &infoCount);
     174    if (_err != noErr) return PyMac_Error(_err);
     175    if (infoCount == 0) return Py_BuildValue("[]");
     176
     177    if ((infolist = (ScrapFlavorInfo *)malloc(infoCount*sizeof(ScrapFlavorInfo))) == NULL )
     178        return PyErr_NoMemory();
     179
     180    _err = GetScrapFlavorInfoList(_self->ob_itself, &infoCount, infolist);
     181    if (_err != noErr) {
     182        free(infolist);
     183        return NULL;
     184    }
     185    if ((_res = PyList_New(infoCount)) == NULL ) {
     186        free(infolist);
     187        return NULL;
     188    }
     189    for(i=0; i<infoCount; i++) {
     190        item = Py_BuildValue("O&l", PyMac_BuildOSType, infolist[i].flavorType,
     191            infolist[i].flavorFlags);
     192        if ( !item || PyList_SetItem(_res, i, item) < 0 ) {
     193            Py_DECREF(_res);
     194            free(infolist);
     195            return NULL;
     196        }
     197    }
     198    free(infolist);
     199    return _res;
    200200}
    201201
    202202static PyMethodDef ScrapObj_methods[] = {
    203         {"GetScrapFlavorFlags", (PyCFunction)ScrapObj_GetScrapFlavorFlags, 1,
    204         PyDoc_STR("(ScrapFlavorType flavorType) -> (ScrapFlavorFlags flavorFlags)")},
    205         {"GetScrapFlavorSize", (PyCFunction)ScrapObj_GetScrapFlavorSize, 1,
    206         PyDoc_STR("(ScrapFlavorType flavorType) -> (Size byteCount)")},
    207         {"GetScrapFlavorData", (PyCFunction)ScrapObj_GetScrapFlavorData, 1,
    208         PyDoc_STR("(ScrapFlavorType flavorType, Buffer destination) -> (Size byteCount)")},
    209         {"PutScrapFlavor", (PyCFunction)ScrapObj_PutScrapFlavor, 1,
    210         PyDoc_STR("(ScrapFlavorType flavorType, ScrapFlavorFlags flavorFlags, Size flavorSize, Buffer flavorData) -> None")},
    211         {"GetScrapFlavorCount", (PyCFunction)ScrapObj_GetScrapFlavorCount, 1,
    212         PyDoc_STR("() -> (UInt32 infoCount)")},
    213         {"GetScrapFlavorInfoList", (PyCFunction)ScrapObj_GetScrapFlavorInfoList, 1,
    214         PyDoc_STR("() -> ([(ScrapFlavorType, ScrapFlavorInfo), ...])")},
    215         {NULL, NULL, 0}
     203    {"GetScrapFlavorFlags", (PyCFunction)ScrapObj_GetScrapFlavorFlags, 1,
     204    PyDoc_STR("(ScrapFlavorType flavorType) -> (ScrapFlavorFlags flavorFlags)")},
     205    {"GetScrapFlavorSize", (PyCFunction)ScrapObj_GetScrapFlavorSize, 1,
     206    PyDoc_STR("(ScrapFlavorType flavorType) -> (Size byteCount)")},
     207    {"GetScrapFlavorData", (PyCFunction)ScrapObj_GetScrapFlavorData, 1,
     208    PyDoc_STR("(ScrapFlavorType flavorType, Buffer destination) -> (Size byteCount)")},
     209    {"PutScrapFlavor", (PyCFunction)ScrapObj_PutScrapFlavor, 1,
     210    PyDoc_STR("(ScrapFlavorType flavorType, ScrapFlavorFlags flavorFlags, Size flavorSize, Buffer flavorData) -> None")},
     211    {"GetScrapFlavorCount", (PyCFunction)ScrapObj_GetScrapFlavorCount, 1,
     212    PyDoc_STR("() -> (UInt32 infoCount)")},
     213    {"GetScrapFlavorInfoList", (PyCFunction)ScrapObj_GetScrapFlavorInfoList, 1,
     214    PyDoc_STR("() -> ([(ScrapFlavorType, ScrapFlavorInfo), ...])")},
     215    {NULL, NULL, 0}
    216216};
    217217
     
    220220static PyObject *ScrapObj_getattr(ScrapObject *self, char *name)
    221221{
    222         return Py_FindMethodInChain(&ScrapObj_chain, (PyObject *)self, name);
     222    return Py_FindMethodInChain(&ScrapObj_chain, (PyObject *)self, name);
    223223}
    224224
     
    232232
    233233PyTypeObject Scrap_Type = {
    234         PyObject_HEAD_INIT(NULL)
    235         0, /*ob_size*/
    236         "_Scrap.Scrap", /*tp_name*/
    237         sizeof(ScrapObject), /*tp_basicsize*/
    238         0, /*tp_itemsize*/
    239         /* methods */
    240         (destructor) ScrapObj_dealloc, /*tp_dealloc*/
    241         0, /*tp_print*/
    242         (getattrfunc) ScrapObj_getattr, /*tp_getattr*/
    243         (setattrfunc) ScrapObj_setattr, /*tp_setattr*/
    244         (cmpfunc) ScrapObj_compare, /*tp_compare*/
    245         (reprfunc) ScrapObj_repr, /*tp_repr*/
    246         (PyNumberMethods *)0, /* tp_as_number */
    247         (PySequenceMethods *)0, /* tp_as_sequence */
    248         (PyMappingMethods *)0, /* tp_as_mapping */
    249         (hashfunc) ScrapObj_hash, /*tp_hash*/
     234    PyObject_HEAD_INIT(NULL)
     235    0, /*ob_size*/
     236    "_Scrap.Scrap", /*tp_name*/
     237    sizeof(ScrapObject), /*tp_basicsize*/
     238    0, /*tp_itemsize*/
     239    /* methods */
     240    (destructor) ScrapObj_dealloc, /*tp_dealloc*/
     241    0, /*tp_print*/
     242    (getattrfunc) ScrapObj_getattr, /*tp_getattr*/
     243    (setattrfunc) ScrapObj_setattr, /*tp_setattr*/
     244    (cmpfunc) ScrapObj_compare, /*tp_compare*/
     245    (reprfunc) ScrapObj_repr, /*tp_repr*/
     246    (PyNumberMethods *)0, /* tp_as_number */
     247    (PySequenceMethods *)0, /* tp_as_sequence */
     248    (PyMappingMethods *)0, /* tp_as_mapping */
     249    (hashfunc) ScrapObj_hash, /*tp_hash*/
    250250};
    251251
     
    254254static PyObject *Scrap_LoadScrap(PyObject *_self, PyObject *_args)
    255255{
    256         PyObject *_res = NULL;
    257         OSStatus _err;
    258         if (!PyArg_ParseTuple(_args, ""))
    259                 return NULL;
    260         _err = LoadScrap();
    261         if (_err != noErr) return PyMac_Error(_err);
    262         Py_INCREF(Py_None);
    263         _res = Py_None;
    264         return _res;
     256    PyObject *_res = NULL;
     257    OSStatus _err;
     258    if (!PyArg_ParseTuple(_args, ""))
     259        return NULL;
     260    _err = LoadScrap();
     261    if (_err != noErr) return PyMac_Error(_err);
     262    Py_INCREF(Py_None);
     263    _res = Py_None;
     264    return _res;
    265265}
    266266
    267267static PyObject *Scrap_UnloadScrap(PyObject *_self, PyObject *_args)
    268268{
    269         PyObject *_res = NULL;
    270         OSStatus _err;
    271         if (!PyArg_ParseTuple(_args, ""))
    272                 return NULL;
    273         _err = UnloadScrap();
    274         if (_err != noErr) return PyMac_Error(_err);
    275         Py_INCREF(Py_None);
    276         _res = Py_None;
    277         return _res;
     269    PyObject *_res = NULL;
     270    OSStatus _err;
     271    if (!PyArg_ParseTuple(_args, ""))
     272        return NULL;
     273    _err = UnloadScrap();
     274    if (_err != noErr) return PyMac_Error(_err);
     275    Py_INCREF(Py_None);
     276    _res = Py_None;
     277    return _res;
    278278}
    279279
    280280static PyObject *Scrap_GetCurrentScrap(PyObject *_self, PyObject *_args)
    281281{
    282         PyObject *_res = NULL;
    283         OSStatus _err;
    284         ScrapRef scrap;
    285         if (!PyArg_ParseTuple(_args, ""))
    286                 return NULL;
    287         _err = GetCurrentScrap(&scrap);
    288         if (_err != noErr) return PyMac_Error(_err);
    289         _res = Py_BuildValue("O&",
    290                              ScrapObj_New, scrap);
    291         return _res;
     282    PyObject *_res = NULL;
     283    OSStatus _err;
     284    ScrapRef scrap;
     285    if (!PyArg_ParseTuple(_args, ""))
     286        return NULL;
     287    _err = GetCurrentScrap(&scrap);
     288    if (_err != noErr) return PyMac_Error(_err);
     289    _res = Py_BuildValue("O&",
     290                         ScrapObj_New, scrap);
     291    return _res;
    292292}
    293293
    294294static PyObject *Scrap_ClearCurrentScrap(PyObject *_self, PyObject *_args)
    295295{
    296         PyObject *_res = NULL;
    297         OSStatus _err;
    298         if (!PyArg_ParseTuple(_args, ""))
    299                 return NULL;
    300         _err = ClearCurrentScrap();
    301         if (_err != noErr) return PyMac_Error(_err);
    302         Py_INCREF(Py_None);
    303         _res = Py_None;
    304         return _res;
     296    PyObject *_res = NULL;
     297    OSStatus _err;
     298    if (!PyArg_ParseTuple(_args, ""))
     299        return NULL;
     300    _err = ClearCurrentScrap();
     301    if (_err != noErr) return PyMac_Error(_err);
     302    Py_INCREF(Py_None);
     303    _res = Py_None;
     304    return _res;
    305305}
    306306
    307307static PyObject *Scrap_CallInScrapPromises(PyObject *_self, PyObject *_args)
    308308{
    309         PyObject *_res = NULL;
    310         OSStatus _err;
    311         if (!PyArg_ParseTuple(_args, ""))
    312                 return NULL;
    313         _err = CallInScrapPromises();
    314         if (_err != noErr) return PyMac_Error(_err);
    315         Py_INCREF(Py_None);
    316         _res = Py_None;
    317         return _res;
     309    PyObject *_res = NULL;
     310    OSStatus _err;
     311    if (!PyArg_ParseTuple(_args, ""))
     312        return NULL;
     313    _err = CallInScrapPromises();
     314    if (_err != noErr) return PyMac_Error(_err);
     315    Py_INCREF(Py_None);
     316    _res = Py_None;
     317    return _res;
    318318}
    319319#endif /* __LP64__ */
     
    321321static PyMethodDef Scrap_methods[] = {
    322322#ifndef __LP64__
    323         {"LoadScrap", (PyCFunction)Scrap_LoadScrap, 1,
    324         PyDoc_STR("() -> None")},
    325         {"UnloadScrap", (PyCFunction)Scrap_UnloadScrap, 1,
    326         PyDoc_STR("() -> None")},
    327         {"GetCurrentScrap", (PyCFunction)Scrap_GetCurrentScrap, 1,
    328         PyDoc_STR("() -> (ScrapRef scrap)")},
    329         {"ClearCurrentScrap", (PyCFunction)Scrap_ClearCurrentScrap, 1,
    330         PyDoc_STR("() -> None")},
    331         {"CallInScrapPromises", (PyCFunction)Scrap_CallInScrapPromises, 1,
    332         PyDoc_STR("() -> None")},
     323    {"LoadScrap", (PyCFunction)Scrap_LoadScrap, 1,
     324    PyDoc_STR("() -> None")},
     325    {"UnloadScrap", (PyCFunction)Scrap_UnloadScrap, 1,
     326    PyDoc_STR("() -> None")},
     327    {"GetCurrentScrap", (PyCFunction)Scrap_GetCurrentScrap, 1,
     328    PyDoc_STR("() -> (ScrapRef scrap)")},
     329    {"ClearCurrentScrap", (PyCFunction)Scrap_ClearCurrentScrap, 1,
     330    PyDoc_STR("() -> None")},
     331    {"CallInScrapPromises", (PyCFunction)Scrap_CallInScrapPromises, 1,
     332    PyDoc_STR("() -> None")},
    333333#endif /* __LP64__ */
    334         {NULL, NULL, 0}
     334    {NULL, NULL, 0}
    335335};
    336336
     
    340340void init_Scrap(void)
    341341{
    342         PyObject *m;
     342    PyObject *m;
    343343#ifndef __LP64__
    344         PyObject *d;
     344    PyObject *d;
    345345#endif /* __LP64__ */
    346346
     
    348348
    349349
    350         m = Py_InitModule("_Scrap", Scrap_methods);
     350    m = Py_InitModule("_Scrap", Scrap_methods);
    351351#ifndef __LP64__
    352         d = PyModule_GetDict(m);
    353         Scrap_Error = PyMac_GetOSErrException();
    354         if (Scrap_Error == NULL ||
    355             PyDict_SetItemString(d, "Error", Scrap_Error) != 0)
    356                 return;
    357         Scrap_Type.ob_type = &PyType_Type;
    358         Py_INCREF(&Scrap_Type);
    359         if (PyDict_SetItemString(d, "ScrapType", (PyObject *)&Scrap_Type) != 0)
    360                 Py_FatalError("can't initialize ScrapType");
     352    d = PyModule_GetDict(m);
     353    Scrap_Error = PyMac_GetOSErrException();
     354    if (Scrap_Error == NULL ||
     355        PyDict_SetItemString(d, "Error", Scrap_Error) != 0)
     356        return;
     357    Scrap_Type.ob_type = &PyType_Type;
     358    Py_INCREF(&Scrap_Type);
     359    if (PyDict_SetItemString(d, "ScrapType", (PyObject *)&Scrap_Type) != 0)
     360        Py_FatalError("can't initialize ScrapType");
    361361#endif /* __LP64__ */
    362362}
Note: See TracChangeset for help on using the changeset viewer.