summaryrefslogtreecommitdiff
path: root/Python/getargs.c
diff options
context:
space:
mode:
Diffstat (limited to 'Python/getargs.c')
-rw-r--r--Python/getargs.c22
1 files changed, 22 insertions, 0 deletions
diff --git a/Python/getargs.c b/Python/getargs.c
index e4c2634796..34e3a5cf66 100644
--- a/Python/getargs.c
+++ b/Python/getargs.c
@@ -499,6 +499,20 @@ convertsimple1(arg, p_format, p_va)
break;
}
+#if HAVE_LONG_LONG
+ case 'L': /* long long */
+ {
+ long long *p = va_arg( *p_va, long long * );
+ long long ival = PyLong_AsLongLong( arg );
+ if( ival == (long long)-1 && PyErr_Occurred() ) {
+ return "long<L>";
+ } else {
+ *p = ival;
+ }
+ break;
+ }
+#endif
+
case 'f': /* float */
{
float *p = va_arg(*p_va, float *);
@@ -988,6 +1002,14 @@ skipitem(p_format, p_va)
break;
}
+#if HAVE_LONG_LONG
+ case 'L': /* long long int */
+ {
+ (void) va_arg(*p_va, long long *);
+ break;
+ }
+#endif
+
case 'f': /* float */
{
(void) va_arg(*p_va, float *);