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/Modules/cgensupport.c

    r2 r391  
    1414PyArg_GetObject(register PyObject *args, int nargs, int i, PyObject **p_arg)
    1515{
    16         if (nargs != 1) {
    17                 if (args == NULL || !PyTuple_Check(args) ||
    18                                 nargs != PyTuple_Size(args) ||
    19                                 i < 0 || i >= nargs) {
    20                         return PyErr_BadArgument();
    21                 }
    22                 else {
    23                         args = PyTuple_GetItem(args, i);
    24                 }
    25         }
    26         if (args == NULL) {
    27                 return PyErr_BadArgument();
    28         }
    29         *p_arg = args;
    30         return 1;
     16    if (nargs != 1) {
     17        if (args == NULL || !PyTuple_Check(args) ||
     18                        nargs != PyTuple_Size(args) ||
     19                        i < 0 || i >= nargs) {
     20            return PyErr_BadArgument();
     21        }
     22        else {
     23            args = PyTuple_GetItem(args, i);
     24        }
     25    }
     26    if (args == NULL) {
     27        return PyErr_BadArgument();
     28    }
     29    *p_arg = args;
     30    return 1;
    3131}
    3232
     
    3434PyArg_GetLong(register PyObject *args, int nargs, int i, long *p_arg)
    3535{
    36         if (nargs != 1) {
    37                 if (args == NULL || !PyTuple_Check(args) ||
    38                                 nargs != PyTuple_Size(args) ||
    39                                 i < 0 || i >= nargs) {
    40                         return PyErr_BadArgument();
    41                 }
    42                 args = PyTuple_GetItem(args, i);
    43         }
    44         if (args == NULL || !PyInt_Check(args)) {
    45                 return PyErr_BadArgument();
    46         }
    47         *p_arg = PyInt_AsLong(args);
    48         return 1;
     36    if (nargs != 1) {
     37        if (args == NULL || !PyTuple_Check(args) ||
     38                        nargs != PyTuple_Size(args) ||
     39                        i < 0 || i >= nargs) {
     40            return PyErr_BadArgument();
     41        }
     42        args = PyTuple_GetItem(args, i);
     43    }
     44    if (args == NULL || !PyInt_Check(args)) {
     45        return PyErr_BadArgument();
     46    }
     47    *p_arg = PyInt_AsLong(args);
     48    return 1;
    4949}
    5050
     
    5252PyArg_GetShort(register PyObject *args, int nargs, int i, short *p_arg)
    5353{
    54         long x;
    55         if (!PyArg_GetLong(args, nargs, i, &x))
    56                 return 0;
    57         *p_arg = (short) x;
    58         return 1;
     54    long x;
     55    if (!PyArg_GetLong(args, nargs, i, &x))
     56        return 0;
     57    *p_arg = (short) x;
     58    return 1;
    5959}
    6060
     
    6262extractdouble(register PyObject *v, double *p_arg)
    6363{
    64         if (v == NULL) {
    65                 /* Fall through to error return at end of function */
    66         }
    67         else if (PyFloat_Check(v)) {
    68                 *p_arg = PyFloat_AS_DOUBLE((PyFloatObject *)v);
    69                 return 1;
    70         }
    71         else if (PyInt_Check(v)) {
    72                 *p_arg = PyInt_AS_LONG((PyIntObject *)v);
    73                 return 1;
    74         }
    75         else if (PyLong_Check(v)) {
    76                 *p_arg = PyLong_AsDouble(v);
    77                 return 1;
    78         }
    79         return PyErr_BadArgument();
     64    if (v == NULL) {
     65        /* Fall through to error return at end of function */
     66    }
     67    else if (PyFloat_Check(v)) {
     68        *p_arg = PyFloat_AS_DOUBLE((PyFloatObject *)v);
     69        return 1;
     70    }
     71    else if (PyInt_Check(v)) {
     72        *p_arg = PyInt_AS_LONG((PyIntObject *)v);
     73        return 1;
     74    }
     75    else if (PyLong_Check(v)) {
     76        *p_arg = PyLong_AsDouble(v);
     77        return 1;
     78    }
     79    return PyErr_BadArgument();
    8080}
    8181
     
    8383extractfloat(register PyObject *v, float *p_arg)
    8484{
    85         if (v == NULL) {
    86                 /* Fall through to error return at end of function */
    87         }
    88         else if (PyFloat_Check(v)) {
    89                 *p_arg = (float) PyFloat_AS_DOUBLE((PyFloatObject *)v);
    90                 return 1;
    91         }
    92         else if (PyInt_Check(v)) {
    93                 *p_arg = (float) PyInt_AS_LONG((PyIntObject *)v);
    94                 return 1;
    95         }
    96         else if (PyLong_Check(v)) {
    97                 *p_arg = (float) PyLong_AsDouble(v);
    98                 return 1;
    99         }
    100         return PyErr_BadArgument();
     85    if (v == NULL) {
     86        /* Fall through to error return at end of function */
     87    }
     88    else if (PyFloat_Check(v)) {
     89        *p_arg = (float) PyFloat_AS_DOUBLE((PyFloatObject *)v);
     90        return 1;
     91    }
     92    else if (PyInt_Check(v)) {
     93        *p_arg = (float) PyInt_AS_LONG((PyIntObject *)v);
     94        return 1;
     95    }
     96    else if (PyLong_Check(v)) {
     97        *p_arg = (float) PyLong_AsDouble(v);
     98        return 1;
     99    }
     100    return PyErr_BadArgument();
    101101}
    102102
     
    104104PyArg_GetFloat(register PyObject *args, int nargs, int i, float *p_arg)
    105105{
    106         PyObject *v;
    107         float x;
    108         if (!PyArg_GetObject(args, nargs, i, &v))
    109                 return 0;
    110         if (!extractfloat(v, &x))
    111                 return 0;
    112         *p_arg = x;
    113         return 1;
     106    PyObject *v;
     107    float x;
     108    if (!PyArg_GetObject(args, nargs, i, &v))
     109        return 0;
     110    if (!extractfloat(v, &x))
     111        return 0;
     112    *p_arg = x;
     113    return 1;
    114114}
    115115
     
    117117PyArg_GetString(PyObject *args, int nargs, int i, string *p_arg)
    118118{
    119         PyObject *v;
    120         if (!PyArg_GetObject(args, nargs, i, &v))
    121                 return 0;
    122         if (!PyString_Check(v)) {
    123                 return PyErr_BadArgument();
    124         }
    125         *p_arg = PyString_AsString(v);
    126         return 1;
     119    PyObject *v;
     120    if (!PyArg_GetObject(args, nargs, i, &v))
     121        return 0;
     122    if (!PyString_Check(v)) {
     123        return PyErr_BadArgument();
     124    }
     125    *p_arg = PyString_AsString(v);
     126    return 1;
    127127}
    128128
     
    130130PyArg_GetChar(PyObject *args, int nargs, int i, char *p_arg)
    131131{
    132         string x;
    133         if (!PyArg_GetString(args, nargs, i, &x))
    134                 return 0;
    135         if (x[0] == '\0' || x[1] != '\0') {
    136                 /* Not exactly one char */
    137                 return PyErr_BadArgument();
    138         }
    139         *p_arg = x[0];
    140         return 1;
     132    string x;
     133    if (!PyArg_GetString(args, nargs, i, &x))
     134        return 0;
     135    if (x[0] == '\0' || x[1] != '\0') {
     136        /* Not exactly one char */
     137        return PyErr_BadArgument();
     138    }
     139    *p_arg = x[0];
     140    return 1;
    141141}
    142142
     
    144144PyArg_GetLongArraySize(PyObject *args, int nargs, int i, long *p_arg)
    145145{
    146         PyObject *v;
    147         if (!PyArg_GetObject(args, nargs, i, &v))
    148                 return 0;
    149         if (PyTuple_Check(v)) {
    150                 *p_arg = PyTuple_Size(v);
    151                 return 1;
    152         }
    153         if (PyList_Check(v)) {
    154                 *p_arg = PyList_Size(v);
    155                 return 1;
    156         }
    157         return PyErr_BadArgument();
     146    PyObject *v;
     147    if (!PyArg_GetObject(args, nargs, i, &v))
     148        return 0;
     149    if (PyTuple_Check(v)) {
     150        *p_arg = PyTuple_Size(v);
     151        return 1;
     152    }
     153    if (PyList_Check(v)) {
     154        *p_arg = PyList_Size(v);
     155        return 1;
     156    }
     157    return PyErr_BadArgument();
    158158}
    159159
     
    161161PyArg_GetShortArraySize(PyObject *args, int nargs, int i, short *p_arg)
    162162{
    163         long x;
    164         if (!PyArg_GetLongArraySize(args, nargs, i, &x))
    165                 return 0;
    166         *p_arg = (short) x;
    167         return 1;
     163    long x;
     164    if (!PyArg_GetLongArraySize(args, nargs, i, &x))
     165        return 0;
     166    *p_arg = (short) x;
     167    return 1;
    168168}
    169169
     
    173173PyArg_GetLongArray(PyObject *args, int nargs, int i, int n, long *p_arg)
    174174{
    175         PyObject *v, *w;
    176         if (!PyArg_GetObject(args, nargs, i, &v))
    177                 return 0;
    178         if (PyTuple_Check(v)) {
    179                 if (PyTuple_Size(v) != n) {
    180                         return PyErr_BadArgument();
    181                 }
    182                 for (i = 0; i < n; i++) {
    183                         w = PyTuple_GetItem(v, i);
    184                         if (!PyInt_Check(w)) {
    185                                 return PyErr_BadArgument();
    186                         }
    187                         p_arg[i] = PyInt_AsLong(w);
    188                 }
    189                 return 1;
    190         }
    191         else if (PyList_Check(v)) {
    192                 if (PyList_Size(v) != n) {
    193                         return PyErr_BadArgument();
    194                 }
    195                 for (i = 0; i < n; i++) {
    196                         w = PyList_GetItem(v, i);
    197                         if (!PyInt_Check(w)) {
    198                                 return PyErr_BadArgument();
    199                         }
    200                         p_arg[i] = PyInt_AsLong(w);
    201                 }
    202                 return 1;
    203         }
    204         else {
    205                 return PyErr_BadArgument();
    206         }
     175    PyObject *v, *w;
     176    if (!PyArg_GetObject(args, nargs, i, &v))
     177        return 0;
     178    if (PyTuple_Check(v)) {
     179        if (PyTuple_Size(v) != n) {
     180            return PyErr_BadArgument();
     181        }
     182        for (i = 0; i < n; i++) {
     183            w = PyTuple_GetItem(v, i);
     184            if (!PyInt_Check(w)) {
     185                return PyErr_BadArgument();
     186            }
     187            p_arg[i] = PyInt_AsLong(w);
     188        }
     189        return 1;
     190    }
     191    else if (PyList_Check(v)) {
     192        if (PyList_Size(v) != n) {
     193            return PyErr_BadArgument();
     194        }
     195        for (i = 0; i < n; i++) {
     196            w = PyList_GetItem(v, i);
     197            if (!PyInt_Check(w)) {
     198                return PyErr_BadArgument();
     199            }
     200            p_arg[i] = PyInt_AsLong(w);
     201        }
     202        return 1;
     203    }
     204    else {
     205        return PyErr_BadArgument();
     206    }
    207207}
    208208
     
    210210PyArg_GetShortArray(PyObject *args, int nargs, int i, int n, short *p_arg)
    211211{
    212         PyObject *v, *w;
    213         if (!PyArg_GetObject(args, nargs, i, &v))
    214                 return 0;
    215         if (PyTuple_Check(v)) {
    216                 if (PyTuple_Size(v) != n) {
    217                         return PyErr_BadArgument();
    218                 }
    219                 for (i = 0; i < n; i++) {
    220                         w = PyTuple_GetItem(v, i);
    221                         if (!PyInt_Check(w)) {
    222                                 return PyErr_BadArgument();
    223                         }
    224                         p_arg[i] = (short) PyInt_AsLong(w);
    225                 }
    226                 return 1;
    227         }
    228         else if (PyList_Check(v)) {
    229                 if (PyList_Size(v) != n) {
    230                         return PyErr_BadArgument();
    231                 }
    232                 for (i = 0; i < n; i++) {
    233                         w = PyList_GetItem(v, i);
    234                         if (!PyInt_Check(w)) {
    235                                 return PyErr_BadArgument();
    236                         }
    237                         p_arg[i] = (short) PyInt_AsLong(w);
    238                 }
    239                 return 1;
    240         }
    241         else {
    242                 return PyErr_BadArgument();
    243         }
     212    PyObject *v, *w;
     213    if (!PyArg_GetObject(args, nargs, i, &v))
     214        return 0;
     215    if (PyTuple_Check(v)) {
     216        if (PyTuple_Size(v) != n) {
     217            return PyErr_BadArgument();
     218        }
     219        for (i = 0; i < n; i++) {
     220            w = PyTuple_GetItem(v, i);
     221            if (!PyInt_Check(w)) {
     222                return PyErr_BadArgument();
     223            }
     224            p_arg[i] = (short) PyInt_AsLong(w);
     225        }
     226        return 1;
     227    }
     228    else if (PyList_Check(v)) {
     229        if (PyList_Size(v) != n) {
     230            return PyErr_BadArgument();
     231        }
     232        for (i = 0; i < n; i++) {
     233            w = PyList_GetItem(v, i);
     234            if (!PyInt_Check(w)) {
     235                return PyErr_BadArgument();
     236            }
     237            p_arg[i] = (short) PyInt_AsLong(w);
     238        }
     239        return 1;
     240    }
     241    else {
     242        return PyErr_BadArgument();
     243    }
    244244}
    245245
     
    247247PyArg_GetDoubleArray(PyObject *args, int nargs, int i, int n, double *p_arg)
    248248{
    249         PyObject *v, *w;
    250         if (!PyArg_GetObject(args, nargs, i, &v))
    251                 return 0;
    252         if (PyTuple_Check(v)) {
    253                 if (PyTuple_Size(v) != n) {
    254                         return PyErr_BadArgument();
    255                 }
    256                 for (i = 0; i < n; i++) {
    257                         w = PyTuple_GetItem(v, i);
    258                         if (!extractdouble(w, &p_arg[i]))
    259                                 return 0;
    260                 }
    261                 return 1;
    262         }
    263         else if (PyList_Check(v)) {
    264                 if (PyList_Size(v) != n) {
    265                         return PyErr_BadArgument();
    266                 }
    267                 for (i = 0; i < n; i++) {
    268                         w = PyList_GetItem(v, i);
    269                         if (!extractdouble(w, &p_arg[i]))
    270                                 return 0;
    271                 }
    272                 return 1;
    273         }
    274         else {
    275                 return PyErr_BadArgument();
    276         }
     249    PyObject *v, *w;
     250    if (!PyArg_GetObject(args, nargs, i, &v))
     251        return 0;
     252    if (PyTuple_Check(v)) {
     253        if (PyTuple_Size(v) != n) {
     254            return PyErr_BadArgument();
     255        }
     256        for (i = 0; i < n; i++) {
     257            w = PyTuple_GetItem(v, i);
     258            if (!extractdouble(w, &p_arg[i]))
     259                return 0;
     260        }
     261        return 1;
     262    }
     263    else if (PyList_Check(v)) {
     264        if (PyList_Size(v) != n) {
     265            return PyErr_BadArgument();
     266        }
     267        for (i = 0; i < n; i++) {
     268            w = PyList_GetItem(v, i);
     269            if (!extractdouble(w, &p_arg[i]))
     270                return 0;
     271        }
     272        return 1;
     273    }
     274    else {
     275        return PyErr_BadArgument();
     276    }
    277277}
    278278
     
    280280PyArg_GetFloatArray(PyObject *args, int nargs, int i, int n, float *p_arg)
    281281{
    282         PyObject *v, *w;
    283         if (!PyArg_GetObject(args, nargs, i, &v))
    284                 return 0;
    285         if (PyTuple_Check(v)) {
    286                 if (PyTuple_Size(v) != n) {
    287                         return PyErr_BadArgument();
    288                 }
    289                 for (i = 0; i < n; i++) {
    290                         w = PyTuple_GetItem(v, i);
    291                         if (!extractfloat(w, &p_arg[i]))
    292                                 return 0;
    293                 }
    294                 return 1;
    295         }
    296         else if (PyList_Check(v)) {
    297                 if (PyList_Size(v) != n) {
    298                         return PyErr_BadArgument();
    299                 }
    300                 for (i = 0; i < n; i++) {
    301                         w = PyList_GetItem(v, i);
    302                         if (!extractfloat(w, &p_arg[i]))
    303                                 return 0;
    304                 }
    305                 return 1;
    306         }
    307         else {
    308                 return PyErr_BadArgument();
    309         }
    310 }
     282    PyObject *v, *w;
     283    if (!PyArg_GetObject(args, nargs, i, &v))
     284        return 0;
     285    if (PyTuple_Check(v)) {
     286        if (PyTuple_Size(v) != n) {
     287            return PyErr_BadArgument();
     288        }
     289        for (i = 0; i < n; i++) {
     290            w = PyTuple_GetItem(v, i);
     291            if (!extractfloat(w, &p_arg[i]))
     292                return 0;
     293        }
     294        return 1;
     295    }
     296    else if (PyList_Check(v)) {
     297        if (PyList_Size(v) != n) {
     298            return PyErr_BadArgument();
     299        }
     300        for (i = 0; i < n; i++) {
     301            w = PyList_GetItem(v, i);
     302            if (!extractfloat(w, &p_arg[i]))
     303                return 0;
     304        }
     305        return 1;
     306    }
     307    else {
     308        return PyErr_BadArgument();
     309    }
     310}
Note: See TracChangeset for help on using the changeset viewer.