… | |
… | |
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 | |
… | |
… | |
461 | do |
461 | do |
462 | { |
462 | { |
463 | buf << "<tt>"; |
463 | buf << "<tt>"; |
464 | cfpod = expand_cfpod (pl, buf, cfpod, -2); |
464 | cfpod = expand_cfpod (pl, buf, cfpod, -2); |
465 | buf << "</tt>\n"; |
465 | buf << "</tt>\n"; |
|
|
466 | |
|
|
467 | while (*cfpod == '\n') |
|
|
468 | buf << *cfpod++; |
466 | } |
469 | } |
467 | while (*cfpod == ' '); |
470 | while (*cfpod == ' '); |
468 | |
471 | |
469 | while (*cfpod == '\n') |
|
|
470 | buf << *cfpod++; |
|
|
471 | |
|
|
472 | break; |
472 | break; |
473 | } |
473 | } |
474 | } |
474 | } |
475 | |
475 | |
476 | dynbuf_text * |
476 | dynbuf_text * |