xdrlib duda con entero con signo

Chema Cortes pych3m4 en gmail.com
Sab Abr 26 04:13:20 CEST 2008


El día 24 de abril de 2008 18:47, Milton Galo Patricio Inostroza
Aguilera <minoztro en gmail.com> escribió:

>   Estoy utilizando la libreria xdrib para comunicar python con java {a
>  traves de un socket}.  me encuentro con la sorpresa que al hacer lo
>  siguiente me arroja un warning:
>
>  >>> import xdrlib
>  >>> p = xdrlib.Packer()
>  >>> p.pack_int(-1)
>  /usr/lib/python2.5/xdrlib.py:54: DeprecationWarning: struct integer
>  overflow masking is deprecated
>   self.__buf.write(struct.pack('>L', x))
>
>  , luego recojo el resultado:
>
>  >>> u = xdrlib.Unpacker(p.get_buffer())
>  >>> u.unpack_int()
>  -1
>
>  y todo funciona bien, pero obviamente estoy con problemas ya que esta
>  forma como lo estoy haciendo esta en desuso, que tipo de datos debo
>  poner para poder enviar un entero negativo?..en la documentacion no vi
>  mucho, y en el codigo fuente tampoco, saludos

No es algo que estés haciendo mal. Parece que el módulo  'xdrlib' no
distingue entre empaquetar enteros con y sin signo
(pack_int==pack_uint). El módulo 'struct' se queja por la posibilidad
de estar truncando el argumento. Por lo que veo, el módulo xdrlib debe
ser revisado para poder trabajar en 64bits.
_______________________________________________
Lista de correo Python-es 
http://listas.aditel.org/listinfo/python-es
FAQ: http://listas.aditel.org/faqpyes





Más información sobre la lista de distribución Python-es