diff options
author | Tomeu Vizoso <tomeu@sugarlabs.org> | 2009-11-28 18:48:19 +0000 |
---|---|---|
committer | Tomeu Vizoso <tomeu@sugarlabs.org> | 2009-11-28 18:49:13 +0000 |
commit | 05a2ed55f3e5d2620de8b3b6b0d99e928ef3b041 (patch) | |
tree | e84fcab5ff058118d5bef2ac854c35da504a8b3a /gi | |
parent | 96f6c638709636d7e2ddf560b877879691da3314 (diff) | |
download | pygi-05a2ed55f3e5d2620de8b3b6b0d99e928ef3b041.tar.gz pygi-05a2ed55f3e5d2620de8b3b6b0d99e928ef3b041.tar.xz pygi-05a2ed55f3e5d2620de8b3b6b0d99e928ef3b041.zip |
Use the limit constants from glib and interpret G_MAXUINT32 as PyLong_FromLongLong
https://bugzilla.gnome.org/show_bug.cgi?id=602384
Diffstat (limited to 'gi')
-rw-r--r-- | gi/pygi-argument.c | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/gi/pygi-argument.c b/gi/pygi-argument.c index 8411b62..feae974 100644 --- a/gi/pygi-argument.c +++ b/gi/pygi-argument.c @@ -52,21 +52,21 @@ _pygi_g_type_tag_py_bounds (GITypeTag type_tag, *lower = PyInt_FromLong(0); break; case GI_TYPE_TAG_INT32: - *lower = PyInt_FromLong(-2147483648); - *upper = PyInt_FromLong(2147483647); + *lower = PyInt_FromLong(G_MININT32); + *upper = PyInt_FromLong(G_MAXINT32); break; case GI_TYPE_TAG_UINT32: /* Note: On 32-bit archs, this number doesn't fit in a long. */ - *upper = PyLong_FromLongLong(4294967295); + *upper = PyLong_FromLongLong(G_MAXUINT32); *lower = PyInt_FromLong(0); break; case GI_TYPE_TAG_INT64: /* Note: On 32-bit archs, these numbers don't fit in a long. */ - *lower = PyLong_FromLongLong(-9223372036854775808u); - *upper = PyLong_FromLongLong(9223372036854775807); + *lower = PyLong_FromLongLong(G_MININT64); + *upper = PyLong_FromLongLong(G_MAXINT64); break; case GI_TYPE_TAG_UINT64: - *upper = PyLong_FromUnsignedLongLong(18446744073709551615u); + *upper = PyLong_FromUnsignedLongLong(G_MAXUINT64); *lower = PyInt_FromLong(0); break; case GI_TYPE_TAG_SHORT: @@ -1342,7 +1342,7 @@ _pygi_argument_to_object (GArgument *arg, { guint32 value; value = is_pointer ? *(guint32 *)arg->v_pointer : arg->v_uint32; - object = PyInt_FromLong(value); + object = PyLong_FromLongLong(value); break; } case GI_TYPE_TAG_INT64: |