At Tuesday 26/9/2006 16:00, [EMAIL PROTECTED] wrote:

> >Q: The C idea of (pv != NULL) is said most directly in Python ctypes
> >how?
>
> Perhaps reading the ctypes tutorial? (both in the 2.5 docs and in
> <http://starship.python.net/crew/theller/ctypes/tutorial.html>)

Actually, no.  I see three answers or zero, depending on how you like
to count.

Yes that flat edition helps makes this clear, thank you - there I can
more easily grab an ordered list of all matches of text than in the
more prominent shadow:
http://docs.python.org/dev/lib/module-ctypes.html

I see direct discussion only of how to construct null pointers, no
discussion of how to test for them.  Specifically:

The hint { bool(null_ptr) == False } could be read to mean try ==
False, in the "Pointers" text.

It says:

NULL pointers have a False boolean value:
>>> null_ptr = POINTER(c_int)()
>>> print bool(null_ptr)
False

That means that NULL pointers are considered False in a boolean expression (and you could assume that non-NULL pointers are True, as any other object in general), so you can test a NULL pointer with a simple "if ptr: whatever"

--- cut ---
from ctypes import *
null_ptr = POINTER(c_int)()
x=c_int(1234)
other_ptr = pointer(x)

if null_ptr: print "null_ptr is not NULL"
else: print "null_ptr is NULL"

if other_ptr: print "other_ptr is not NULL"
else: print "other_ptr is NULL"
--- cut ---

It's really the same as bool([])==False, bool(any_non_empty_list)==True:

L = [1,2,3]
while L:
  print L.pop()

You don't say:
while bool(L)==True:

(do you?)



Gabriel Genellina
Softlab SRL

        
        
                
__________________________________________________
Preguntá. Respondé. Descubrí.
Todo lo que querías saber, y lo que ni imaginabas,
está en Yahoo! Respuestas (Beta).
¡Probalo ya! http://www.yahoo.com.ar/respuestas

-- 
http://mail.python.org/mailman/listinfo/python-list

Reply via email to