www.digitalmars.com Home | Search | C & C++ | D | DMDScript | News Groups | index | prev | next
Archives

D Programming
D
D.gnu
digitalmars.D
digitalmars.D.bugs
digitalmars.D.dtl
digitalmars.D.dwt
digitalmars.D.announce
digitalmars.D.learn
digitalmars.D.debugger

C/C++ Programming
c++
c++.announce
c++.atl
c++.beta
c++.chat
c++.command-line
c++.dos
c++.dos.16-bits
c++.dos.32-bits
c++.idde
c++.mfc
c++.rtl
c++.stl
c++.stl.hp
c++.stl.port
c++.stl.sgi
c++.stlsoft
c++.windows
c++.windows.16-bits
c++.windows.32-bits
c++.wxwindows

digitalmars.empire
digitalmars.DMDScript
electronics



c++ - ctype.h

↑ ↓ ← John Jameson <johnj labcenter.co.uk> writes:
The ctype functions isspace() and friends are unaware of whether
the compiler is set to treat chars as signed or unsigned. So things
like isspace('') produce random results depending on what is in
memory before the _pctype array.

Should ALL the macros in ctype.h cast to unsigned char? Curiously,
the isleadbyte() macro already does.
Mar 14 2007
↑ ↓ → Bertel Brander <bertel post4.tele.dk> writes:
John Jameson skrev:
 The ctype functions isspace() and friends are unaware of whether
 the compiler is set to treat chars as signed or unsigned. So things
 like isspace('�') produce random results depending on what is in
 memory before the _pctype array.
 
 Should ALL the macros in ctype.h cast to unsigned char? Curiously,
 the isleadbyte() macro already does.

You should cast the argument to the macros/functions in ctype.h to unsigned. -- Just another homepage: http://damb.dk But it's mine - Bertel
Mar 14 2007