arglist_parser_remember (argparser, arg, ms,
inner_context,
pos.file_name, pos.line_number,
- savable_comment);
+ savable_comment, false);
}
}
next_is_argument = false;
&token.pos, NULL, token.comment, false);
}
else
- {
- xgettext_current_source_encoding = po_charset_utf8;
- arglist_parser_remember (argparser, arg, token.mixed_string,
- inner_context,
- token.pos.file_name,
- token.pos.line_number,
- token.comment);
- xgettext_current_source_encoding = xgettext_global_source_encoding;
- }
+ arglist_parser_remember (argparser, arg, token.mixed_string,
+ inner_context,
+ token.pos.file_name,
+ token.pos.line_number,
+ token.comment, false);
drop_reference (token.comment);
}
next_context_iter = null_context_list_iterator;
&pos, NULL, token.comment, true);
}
else
- {
- xgettext_current_source_encoding = po_charset_utf8;
- arglist_parser_remember (argparser, arg, token.mixed_string,
- inner_context,
- pos.file_name, pos.line_number,
- token.comment);
- xgettext_current_source_encoding = xgettext_global_source_encoding;
- }
+ arglist_parser_remember (argparser, arg, token.mixed_string,
+ inner_context,
+ pos.file_name, pos.line_number,
+ token.comment, true);
}
drop_reference (token.comment);
next_context_iter = null_context_list_iterator;
inner_context,
logical_file_name,
inner.line_number_at_start,
- savable_comment);
+ savable_comment, false);
}
}
&pos, NULL, token.comment, true);
}
else
- {
- xgettext_current_source_encoding = po_charset_utf8;
- arglist_parser_remember (argparser, arg, token.mixed_string,
- inner_context,
- pos.file_name, pos.line_number,
- token.comment);
- xgettext_current_source_encoding = xgettext_global_source_encoding;
- }
+ arglist_parser_remember (argparser, arg, token.mixed_string,
+ inner_context,
+ pos.file_name, pos.line_number,
+ token.comment, true);
}
drop_reference (token.comment);
next_context_iter = null_context_list_iterator;
&pos, NULL, token.comment, true);
}
else
- {
- xgettext_current_source_encoding = po_charset_utf8;
- arglist_parser_remember (argparser, arg, token.mixed_string,
- inner_context,
- pos.file_name, pos.line_number,
- token.comment);
- xgettext_current_source_encoding = xgettext_current_file_source_encoding;
- }
+ arglist_parser_remember (argparser, arg, token.mixed_string,
+ inner_context,
+ pos.file_name, pos.line_number,
+ token.comment, true);
}
drop_reference (token.comment);
next_context_iter = null_context_list_iterator;
inner_context,
logical_file_name,
inner.line_number_at_start,
- savable_comment);
+ savable_comment, false);
}
}
inner_context,
logical_file_name,
inner.line_number_at_start,
- savable_comment);
+ savable_comment, false);
}
}
tmp_argparser = arglist_parser_alloc (mlp, next_shapes);
arglist_parser_remember (tmp_argparser, 1, ms,
- inner_context, pos.file_name,
- pos.line_number, token.comment);
+ inner_context,
+ pos.file_name, pos.line_number,
+ token.comment, false);
arglist_parser_done (tmp_argparser, 1);
}
else
arglist_parser_remember (argparser, arg, ms,
- inner_context, pos.file_name,
- pos.line_number, token.comment);
+ inner_context,
+ pos.file_name, pos.line_number,
+ token.comment, false);
}
}
drop_reference (token.comment);
mixed_string_alloc_utf8 (string, lc_string,
logical_file_name, tp->line_number);
free (string);
- xgettext_current_source_encoding = po_charset_utf8;
arglist_parser_remember (argparser, arg, ms, inner_context,
logical_file_name, tp->line_number,
- tp->comment);
- xgettext_current_source_encoding = xgettext_global_source_encoding;
+ tp->comment, true);
}
}
free (token.string);
arglist_parser_remember (argparser, arg, ms, inner_context,
pos.file_name, pos.line_number,
- token.comment);
+ token.comment, false);
}
drop_reference (token.comment);
}
&pos, NULL, token.comment, true);
}
else
- {
- xgettext_current_source_encoding = po_charset_utf8;
- arglist_parser_remember (argparser, arg, token.mixed_string,
- inner_context,
- pos.file_name, pos.line_number,
- token.comment);
- xgettext_current_source_encoding = xgettext_current_file_source_encoding;
- }
+ arglist_parser_remember (argparser, arg, token.mixed_string,
+ inner_context,
+ pos.file_name, pos.line_number,
+ token.comment, true);
}
drop_reference (token.comment);
next_context_iter = null_context_list_iterator;
inner_context,
logical_file_name,
inner.line_number_at_start,
- savable_comment);
+ savable_comment, false);
}
}
inner_context,
logical_file_name,
inner.line_number_at_start,
- savable_comment);
+ savable_comment, false);
}
}
inner_context,
logical_file_name,
inner.line_number_at_start,
- savable_comment);
+ savable_comment, false);
}
}
struct arglist_parser *tmp_argparser;
tmp_argparser = arglist_parser_alloc (mlp, next_shapes);
- xgettext_current_source_encoding = po_charset_utf8;
- arglist_parser_remember (tmp_argparser, 1, token.mixed_string,
- inner_context, pos.file_name,
- pos.line_number, token.comment);
- xgettext_current_source_encoding = xgettext_global_source_encoding;
+ arglist_parser_remember (tmp_argparser, 1,
+ token.mixed_string, inner_context,
+ pos.file_name, pos.line_number,
+ token.comment, false);
arglist_parser_done (tmp_argparser, 1);
}
else
- {
- xgettext_current_source_encoding = po_charset_utf8;
- arglist_parser_remember (argparser, arg, token.mixed_string,
- inner_context, pos.file_name,
- pos.line_number, token.comment);
- xgettext_current_source_encoding = xgettext_global_source_encoding;
- }
+ arglist_parser_remember (argparser, arg,
+ token.mixed_string, inner_context,
+ pos.file_name, pos.line_number,
+ token.comment, false);
}
}
drop_reference (token.comment);
ap->alternative[i].msgid_pos.file_name = NULL;
ap->alternative[i].msgid_pos.line_number = (size_t)(-1);
ap->alternative[i].msgid_comment = NULL;
+ ap->alternative[i].msgid_comment_is_utf8 = false;
ap->alternative[i].msgid_plural = NULL;
ap->alternative[i].msgid_plural_context = null_context;
ap->alternative[i].msgid_plural_pos.file_name = NULL;
ccp->msgid_context = cp->msgid_context;
ccp->msgid_pos = cp->msgctxt_pos;
ccp->msgid_comment = add_reference (cp->msgid_comment);
+ ccp->msgid_comment_is_utf8 = cp->msgid_comment_is_utf8;
ccp->msgid_plural =
(cp->msgid_plural != NULL ? mixed_string_clone (cp->msgid_plural) : NULL);
ccp->msgid_plural_context = cp->msgid_plural_context;
int argnum, mixed_string_ty *string,
flag_context_ty context,
char *file_name, size_t line_number,
- refcounted_string_list_ty *comment)
+ refcounted_string_list_ty *comment,
+ bool comment_is_utf8)
{
bool stored_string = false;
size_t nalternatives = ap->nalternatives;
cp->msgid_pos.file_name = file_name;
cp->msgid_pos.line_number = line_number;
cp->msgid_comment = add_reference (comment);
+ cp->msgid_comment_is_utf8 = comment_is_utf8;
stored_string = true;
/* Mark msgid as done. */
cp->argnum1 = 0;
mp = remember_a_message (ap->mlp, best_msgctxt, best_msgid, true,
msgid_context,
&best_cp->msgid_pos,
- NULL, best_cp->msgid_comment, false);
+ NULL, best_cp->msgid_comment,
+ best_cp->msgid_comment_is_utf8);
if (mp != NULL && best_msgid_plural != NULL)
remember_a_message_plural (mp, best_msgid_plural, true,
msgid_plural_context,
flag_context_ty msgid_context;
lex_pos_ty msgid_pos;
refcounted_string_list_ty *msgid_comment;
+ bool msgid_comment_is_utf8;
mixed_string_ty *msgid_plural; /* msgid_plural - owned mixed_string, or NULL */
flag_context_ty msgid_plural_context;
lex_pos_ty msgid_plural_pos;
FILE_NAME must be allocated with indefinite extent.
COMMENT may be savable_comment, or it may be a saved copy of savable_comment
(then add_reference must be used when saving it, and drop_reference while
- dropping it). Clear savable_comment. */
+ dropping it). Clear savable_comment.
+ COMMENT_IS_UTF8 must be true if COMMENT has already been converted to UTF-8.
+ */
extern void arglist_parser_remember (struct arglist_parser *ap,
int argnum, mixed_string_ty *string,
flag_context_ty context,
char *file_name, size_t line_number,
- refcounted_string_list_ty *comment);
+ refcounted_string_list_ty *comment,
+ bool comment_is_utf8);
/* Adds a string argument as msgctxt to an arglist_parser, without incrementing
the current argument number.
STRING must be a mixed_string; its ownership is passed to the callee.