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