Fix unportable usages of tolower(). On signed-char machines, it is necessary
Tom Lane <tgl@sss.pgh.pa.us>
Fix unportable usages of tolower(). On signed-char machines, it is necessary to explicitly cast the output back to char before comparing it to a char value, else we get the wrong result for high-bit-set characters. Found by Rolf Jentsch. Also, fix several places where <ctype.h> functions were being called without casting the argument to unsigned char; this is likewise unportable, but we keep making that mistake :-(. These found by buildfarm member salamander, which I will desperately miss if it ever goes belly-up.
Files
| Path | Change | +/− |
|---|---|---|
| src/backend/utils/adt/like_match.c | modified | +2 −2 |
| src/interfaces/ecpg/ecpglib/execute.c | modified | +6 −4 |
| src/interfaces/ecpg/preproc/preproc.y | modified | +2 −2 |