… | |
… | |
421 | } |
421 | } |
422 | break; |
422 | break; |
423 | |
423 | |
424 | case 'G': // gender |
424 | case 'G': // gender |
425 | { |
425 | { |
426 | expand_cfpod (pl, nest, cfpod, end); |
426 | cfpod = expand_cfpod (pl, nest, cfpod, end); |
427 | nest << '\0'; // zero-terminate |
427 | nest << '\0'; // zero-terminate |
428 | |
428 | |
429 | const char *str = nest.linearise (); |
429 | const char *str = nest.linearise (); |
430 | const char *sep = strchr (str, '|'); |
430 | const char *sep = strchr (str, '|'); |
431 | |
431 | |
432 | if (sep) |
432 | if (sep) |
433 | { |
433 | { |
434 | if (pl->gender || 1) |
434 | if (pl->gender) |
435 | buf.add (sep + 1, nest.size () - (sep - str) - 2); |
435 | buf.add (sep + 1, nest.size () - (sep - str) - 2); |
436 | else |
436 | else |
437 | buf.add (str, sep - str); |
437 | buf.add (str, sep - str); |
438 | } |
438 | } |
439 | |
439 | |