https://bugs.documentfoundation.org/show_bug.cgi?id=145384
--- Comment #10 from Dave McKellar <dmckel...@gmail.com> --- I did a test and my change does fix the code. Sorry if this post is too big. I made a test program. First with the original code and some print's: #include <stdio.h> #include <ctype.h> void convertName(const char *name) { printf("name in=%s\n", name); for (const char *p = name; *p; p++) { char cChar = *p; if ((cChar<'A' || cChar>'Z') && (cChar<'a' || cChar>'z')) break; cChar -= 'A'; if( cChar >= 26 ) cChar -= 'a' - '['; printf("out cChar=0x%02x\n", cChar); } printf("\n"); } int main() { convertName("A55"); convertName("a55"); return 0; } Which prints out: name in=A55 out cChar=0x00 name in=a55 out cChar=0x1a In other words, lowercase and uppercase get different results. Then I added one toupper() line: #include <stdio.h> #include <ctype.h> void convertName(const char *name) { printf("name in=%s\n", name); for (const char *p = name; *p; p++) { char cChar = *p; if ((cChar<'A' || cChar>'Z') && (cChar<'a' || cChar>'z')) break; if (islower(cChar)) cChar = toupper(cChar); // NEW NEW cChar -= 'A'; if( cChar >= 26 ) cChar -= 'a' - '['; printf("out cChar=0x%02x\n", cChar); } printf("\n"); } int main() { convertName("A55"); convertName("a55"); return 0; } It has the same output for uppercase and lowercase: name in=A55 out cChar=0x00 name in=a55 out cChar=0x00 -- You are receiving this mail because: You are the assignee for the bug.