void po_message_add_filepos (po_message_t message, const char *file, size_t start_line) { message_ty *mp = (message_ty *) message; message_comment_filepos (mp, file, start_line); }
message_ty * message_copy (message_ty *mp) { message_ty *result; size_t j, i; result = message_alloc (mp->msgctxt != NULL ? xstrdup (mp->msgctxt) : NULL, xstrdup (mp->msgid), mp->msgid_plural, mp->msgstr, mp->msgstr_len, &mp->pos); if (mp->comment) { for (j = 0; j < mp->comment->nitems; ++j) message_comment_append (result, mp->comment->item[j]); } if (mp->comment_dot) { for (j = 0; j < mp->comment_dot->nitems; ++j) message_comment_dot_append (result, mp->comment_dot->item[j]); } result->is_fuzzy = mp->is_fuzzy; for (i = 0; i < NFORMATS; i++) result->is_format[i] = mp->is_format[i]; result->range = mp->range; result->do_wrap = mp->do_wrap; for (i = 0; i < NSYNTAXCHECKS; i++) result->do_syntax_check[i] = mp->do_syntax_check[i]; for (j = 0; j < mp->filepos_count; ++j) { lex_pos_ty *pp = &mp->filepos[j]; message_comment_filepos (result, pp->file_name, pp->line_number); } result->prev_msgctxt = (mp->prev_msgctxt != NULL ? xstrdup (mp->prev_msgctxt) : NULL); result->prev_msgid = (mp->prev_msgid != NULL ? xstrdup (mp->prev_msgid) : NULL); result->prev_msgid_plural = (mp->prev_msgid_plural != NULL ? xstrdup (mp->prev_msgid_plural) : NULL); return result; }