Checking with the standards, I think this is legal C99, but not legal
C89 - and we are compiling in C89 mode. Why _every_ version of gcc
didn't object, given all the warning and pedantry options, I'm not
sure, but one did, so I should fix it.
('a' <= button && button <= 'z') ||
('0' <= button && button <= '9') )
{
- char str[2] = { button, '\0' };
+ char str[2];
+ str[0] = button;
+ str[1] = '\0';
return dupstr(str);
}