mirror of
https://github.com/python/cpython.git
synced 2025-08-03 16:39:00 +00:00
bpo-32011: Revert "Issue #15480: Remove the deprecated and unused TYPE_INT64 code from marshal." (#4381)
Simplify the reverted code.
This reverts commit e9bbe8b87b
.
This commit is contained in:
parent
ddbce13786
commit
00987f6230
3 changed files with 46 additions and 0 deletions
|
@ -39,6 +39,9 @@ module marshal
|
|||
#define TYPE_STOPITER 'S'
|
||||
#define TYPE_ELLIPSIS '.'
|
||||
#define TYPE_INT 'i'
|
||||
/* TYPE_INT64 is not generated anymore.
|
||||
Supported for backward compatibility only. */
|
||||
#define TYPE_INT64 'I'
|
||||
#define TYPE_FLOAT 'f'
|
||||
#define TYPE_BINARY_FLOAT 'g'
|
||||
#define TYPE_COMPLEX 'x'
|
||||
|
@ -783,6 +786,19 @@ r_long(RFILE *p)
|
|||
return x;
|
||||
}
|
||||
|
||||
/* r_long64 deals with the TYPE_INT64 code. */
|
||||
static PyObject *
|
||||
r_long64(RFILE *p)
|
||||
{
|
||||
const unsigned char *buffer = (const unsigned char *) r_string(8, p);
|
||||
if (buffer == NULL) {
|
||||
return NULL;
|
||||
}
|
||||
return _PyLong_FromByteArray(buffer, 8,
|
||||
1 /* little endian */,
|
||||
1 /* signed */);
|
||||
}
|
||||
|
||||
static PyObject *
|
||||
r_PyLong(RFILE *p)
|
||||
{
|
||||
|
@ -982,6 +998,11 @@ r_object(RFILE *p)
|
|||
R_REF(retval);
|
||||
break;
|
||||
|
||||
case TYPE_INT64:
|
||||
retval = r_long64(p);
|
||||
R_REF(retval);
|
||||
break;
|
||||
|
||||
case TYPE_LONG:
|
||||
retval = r_PyLong(p);
|
||||
R_REF(retval);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue