Bugs item #653542, was opened at 2002-12-14 02:02 Message generated for change (Comment added) made by birkenfeld You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=105470&aid=653542&group_id=5470
Please note that this message will contain a full copy of the comment thread, including the initial issue submission, for this request, not just the latest update. Category: Documentation Group: None >Status: Closed >Resolution: Works For Me Priority: 5 Submitted By: David Abrahams (david_abrahams) Assigned to: Nobody/Anonymous (nobody) Summary: PyLong_AsVoidPtr()/PyLong_FromVoidPtr() Initial Comment: These two functions have mutually-recursive definitions in the docs (which is to say, none). ---------------------------------------------------------------------- >Comment By: Reinhold Birkenfeld (birkenfeld) Date: 2005-12-26 23:59 Message: Logged In: YES user_id=1188172 I think the definitions are pretty clear to understand. PyLong_FromVoidPtr makes a long from a pointer, PyLong_AsVoidPtr makes a pointer from a long... closing as Works for Me. ---------------------------------------------------------------------- Comment By: Tim Peters (tim_one) Date: 2003-09-24 03:25 Message: Logged In: YES user_id=31435 Nope. Guido checked them in 5 years ago, in rev 1.48. To judge from the checkin comment, the code may actually have come from Greg Stein. I don't have time for it, so unassigning. ---------------------------------------------------------------------- Comment By: Fred L. Drake, Jr. (fdrake) Date: 2003-09-24 00:00 Message: Logged In: YES user_id=3066 Tim, aren't these your babies? ---------------------------------------------------------------------- Comment By: Martin v. Löwis (loewis) Date: 2002-12-14 17:15 Message: Logged In: YES user_id=21627 Something very simple: PyObject * PyLong_FromVoidPtr(void *p) { #if SIZEOF_VOID_P <= SIZEOF_LONG return PyInt_FromLong((long)p); #else #ifndef HAVE_LONG_LONG # error "PyLong_FromVoidPtr: sizeof(void*) > sizeof(long), but no long long" #endif #if SIZEOF_LONG_LONG < SIZEOF_VOID_P # error "PyLong_FromVoidPtr: sizeof(LONG_LONG) < sizeof (void*)" #endif /* optimize null pointers */ if (p == NULL) return PyInt_FromLong(0); return PyLong_FromLongLong((LONG_LONG)p); #endif /* SIZEOF_VOID_P <= SIZEOF_LONG */ } ---------------------------------------------------------------------- Comment By: David Abrahams (david_abrahams) Date: 2002-12-14 15:37 Message: Logged In: YES user_id=52572 Thanks for asking but the problem is that I don't know what they do! ---------------------------------------------------------------------- Comment By: Martin v. Löwis (loewis) Date: 2002-12-14 15:15 Message: Logged In: YES user_id=21627 Would you like to provide a patch? ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=105470&aid=653542&group_id=5470 _______________________________________________ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com