[Python-Dev] String conversion issues implementing new curses module method addchstr, etc.

Heracles steve at integrityintegrators.net
Thu Feb 26 15:27:13 CET 2009


Funny thing happens when you work in a managed language like .Net or Java for
too long.  You tend to expect that the language will catch any invalid casts
and prevent you from compiling the code.

Guess I need to spend more time doing C coding to get back in to it.

Thank you, this is most helpful, and i will heed your advice about the cast.

Cheers!


Ulrich Eckhardt wrote:
> 
> On Wednesday 25 February 2009, Heracles wrote:
>> addchstr((chtype*)PyString_AsString(pS))
> 
> You are effectively disabling the well-deserved warnings with the cast
> here. 
> Don't do that.
> 
>> Now the thing is that when I make calls from python like so:
>>
>>    curses.addchstr(5,10, "@ < Row 5, Col 10")
> [...]
>> What prints out on the screen is gobledygook not the strings you would
>> expect below.
> [...]
>> Any thoughts on how to correctly convert the PyStringObject arguments to
>> chtype* pointers so that the ncurses library will be able to understand
>> them?
> 
> In this case, I suggest man ncurses:
> 
> | cchar_t
> |    corresponds to chtype.  However it is a structure, because more
> |    data is stored than can fit into an integer.  The characters are
> |    large enough to require a full  integer  value  -  and there may
> |    be more than one character per cell. The video attributes and
> |    color are stored in  separate fields of the structure.  
> 
> I'm pretty sure that you can find functions to generate such a string both 
> from a char-string (with whatever encoding) or a wchar_t-string (using 
> Unicode probably) in the curses library.
> 
> Uli
> 
> -- 
> Sator Laser GmbH
> Geschäftsführer: Thorsten Föcking, Amtsgericht Hamburg HR B62 932
> 
> **************************************************************************************
> Sator Laser GmbH, Fangdieckstraße 75a, 22547 Hamburg, Deutschland
> Geschäftsführer: Thorsten Föcking, Amtsgericht Hamburg HR B62 932
> **************************************************************************************
>            Visit our website at <http://www.satorlaser.de/>
> **************************************************************************************
> Diese E-Mail einschließlich sämtlicher Anhänge ist nur für den Adressaten
> bestimmt und kann vertrauliche Informationen enthalten. Bitte
> benachrichtigen Sie den Absender umgehend, falls Sie nicht der
> beabsichtigte Empfänger sein sollten. Die E-Mail ist in diesem Fall zu
> löschen und darf weder gelesen, weitergeleitet, veröffentlicht oder
> anderweitig benutzt werden.
> E-Mails können durch Dritte gelesen werden und Viren sowie
> nichtautorisierte Änderungen enthalten. Sator Laser GmbH ist für diese
> Folgen nicht verantwortlich.
> **************************************************************************************
> 
> _______________________________________________
> Python-Dev mailing list
> Python-Dev at python.org
> http://mail.python.org/mailman/listinfo/python-dev
> Unsubscribe:
> http://mail.python.org/mailman/options/python-dev/lists%40nabble.com
> 
> 

-- 
View this message in context: http://www.nabble.com/String-conversion-issues-implementing-new-curses-module-method-addchstr%2C-etc.-tp22211983p22225142.html
Sent from the Python - python-dev mailing list archive at Nabble.com.



More information about the Python-Dev mailing list