| 4020 | /* Warn about any backward-compatibility issue with pre-2017c zic. */ |
| 4021 | bool pre_2017c_match = false; |
| 4022 | for (lp = table; lp->l_word; lp++) |
| 4023 | if (itsabbr(word, lp->l_word)) { |
| 4024 | if (pre_2017c_match) { |
| 4025 | warning(N_("\"%s\" is ambiguous in pre-2017c zic"), word); |
| 4026 | break; |
| 4027 | } |
| 4028 | pre_2017c_match = true; |
| 4029 | } |
| 4030 | } |
| 4031 | |
| 4032 | return foundlp; |
| 4033 | } |
| 4034 | |
| 4035 | static int |
| 4036 | getfields(char *cp, char **array, int arrayelts) |
| 4037 | { |
| 4038 | register char * dp; |
| 4039 | register int nsubs; |
| 4040 | |
| 4041 | nsubs = 0; |
| 4042 | for ( ; ; ) { |
| 4043 | char *dstart; |
| 4044 | while (is_space(*cp)) |
| 4045 | ++cp; |
| 4046 | if (*cp == '\0' || *cp == '#') |
| 4047 | break; |
| 4048 | dstart = dp = cp; |
| 4049 | do { |
| 4050 | if ((*dp = *cp++) != '"') |
| 4051 | ++dp; |
| 4052 | else while ((*dp = *cp++) != '"') |
| 4053 | if (*dp != '\0') |
| 4054 | ++dp; |
| 4055 | else { |
| 4056 | error(N_("Odd number of quotation marks")); |
| 4057 | exit(EXIT_FAILURE); |
| 4058 | } |
| 4059 | } while (*cp && *cp != '#' && !is_space(*cp)); |
| 4060 | if (is_space(*cp)) |