いけむランド

はてダからやってきました

ctype: use less short names in public header

cygwin.com

今までだと _P のような、ユーザコードでも使われがちなシンボル (_[A-Z]) をマクロとして、グローバルなヘッダで定義してしまっていたため、コンパイル時に展開されて、文法エラーになるようなことが多々あった。

この修正でこの問題が解消されるようでありがたい。

#include <ctype.h>

void func()
{
    int _P;
}
$ gcc -c ctype.c
In file included from ctype.c:1:
ctype.c: In function ‘func’:
ctype.c:5:13: error: expected identifier or ‘(’ before numeric constant
    5 |         int _P;
      |             ^~