equal
deleted
inserted
replaced
478 CzechPattern pattern = name_czech_adj[prefix].pattern; |
478 CzechPattern pattern = name_czech_adj[prefix].pattern; |
479 size_t endpos; |
479 size_t endpos; |
480 |
480 |
481 strecat(buf, name_czech_adj[prefix].name, last); |
481 strecat(buf, name_czech_adj[prefix].name, last); |
482 endpos = strlen(buf) - 1; |
482 endpos = strlen(buf) - 1; |
|
483 /* Find the first character in a UTF-8 sequence */ |
|
484 while (GB(buf[endpos], 6, 2) == 2) endpos--; |
483 if (gender == CZG_SMASC && pattern == CZP_PRIVL) { |
485 if (gender == CZG_SMASC && pattern == CZP_PRIVL) { |
484 /* -ovX -> -uv */ |
486 /* -ovX -> -uv */ |
485 buf[endpos - 2] = 'u'; |
487 buf[endpos - 2] = 'u'; |
486 assert(buf[endpos - 1] == 'v'); |
488 assert(buf[endpos - 1] == 'v'); |
487 buf[endpos] = '\0'; |
489 buf[endpos] = '\0'; |
488 } else { |
490 } else { |
489 buf[endpos] = name_czech_patmod[gender][pattern]; |
491 strecpy(buf + endpos, name_czech_patmod[gender][pattern], last); |
490 } |
492 } |
491 |
493 |
492 strecat(buf, " ", last); |
494 strecat(buf, " ", last); |
493 } |
495 } |
494 |
496 |