| /* PR target/39423 */ | |
| int | |
| foo (const char *name, int nmlen, char *flags) | |
| { | |
| const char *nonspc; | |
| int len, n, lfn; | |
| int needlfn[2], dotspc[2]; | |
| unsigned char locale[2]; | |
| for (nonspc = &name[nmlen - 1]; nonspc >= name && *nonspc == ' '; ++n) | |
| { | |
| if (!nmlen) | |
| { | |
| needlfn[name >= nonspc] = !0, dotspc[n != 0] = | |
| locale[0], --n, name += len, nmlen -= len; | |
| } | |
| } | |
| if (!lfn && ((dotspc[0] == ' ' && !(len & 0x0010)) || dotspc[0] == '.')) | |
| return 22; | |
| if (!(needlfn[0] || needlfn[1])) | |
| *flags |= 0x02; | |
| } |