warned = true;
error (0, 0,
_("%s: warning: source file contains fuzzy translation"),
- gram_pos.file_name);
+ mcatr->file_name);
}
}
}
static const char *real_file_name;
/* File name and line number. */
-extern lex_pos_ty gram_pos;
+static lex_pos_ty pos;
/* The input file stream. */
static FILE *fp;
}
if (c == '\n')
- gram_pos.line_number++;
+ pos.line_number++;
return c;
}
phase2_ungetc (int c)
{
if (c == '\n')
- --gram_pos.line_number;
+ --pos.line_number;
if (c != EOF)
phase2_pushback[phase2_pushback_length++] = c;
}
if (c == '\n')
{
po_xerror (PO_SEVERITY_WARNING, NULL,
- real_file_name, gram_pos.line_number, 0, false,
+ real_file_name, pos.line_number, 0, false,
_("unterminated group name"));
break;
}
}
if (non_blank)
po_xerror (PO_SEVERITY_WARNING, NULL,
- real_file_name, gram_pos.line_number, 0, false,
+ real_file_name, pos.line_number, 0, false,
_("invalid non-blank character"));
APPEND (0);
tp->type = token_type_group;
if (c != '=')
{
po_xerror (PO_SEVERITY_WARNING, NULL,
- real_file_name, gram_pos.line_number, 0, false,
+ real_file_name, pos.line_number, 0, false,
xasprintf (_("missing '=' after \"%s\""), buffer));
for (;;)
{
if (non_blank)
{
po_xerror (PO_SEVERITY_WARNING, NULL,
- real_file_name, gram_pos.line_number, 0, false,
+ real_file_name, pos.line_number, 0, false,
_("invalid non-blank line"));
tp->type = token_type_other;
return;
{
fp = file;
real_file_name = real_filename;
- gram_pos.file_name = xstrdup (logical_filename);
- gram_pos.line_number = 1;
+ pos.file_name = xstrdup (logical_filename);
+ pos.line_number = 1;
for (;;)
{
desktop_reader_handle_comment (reader, token.string);
break;
case token_type_pair:
- desktop_reader_handle_pair (reader, &gram_pos,
+ desktop_reader_handle_pair (reader, &pos,
token.string, token.locale, token.value);
break;
case token_type_blank:
out:
fp = NULL;
real_file_name = NULL;
- gram_pos.line_number = 0;
+ pos.line_number = 0;
}
char *
static const char *real_file_name;
/* File name and line number. */
-extern lex_pos_ty gram_pos;
+static lex_pos_ty pos;
/* The contents of the input file. */
static char *contents;
}
if (c == '\n')
- gram_pos.line_number++;
+ pos.line_number++;
return c;
}
phase2_ungetc (int c)
{
if (c == '\n')
- --gram_pos.line_number;
+ --pos.line_number;
if (c != EOF)
phase2_pushback[phase2_pushback_length++] = c;
}
{
phase3_ungetc (c1);
po_xerror (PO_SEVERITY_ERROR, NULL,
- real_file_name, gram_pos.line_number, (size_t)(-1),
+ real_file_name, pos.line_number, (size_t)(-1),
false, _("warning: invalid \\uxxxx syntax for Unicode character"));
return 'u';
}
{
error_with_progname = false;
po_xerror (PO_SEVERITY_ERROR, NULL,
- real_file_name, gram_pos.line_number, (size_t)(-1),
+ real_file_name, pos.line_number, (size_t)(-1),
false, _("warning: invalid Unicode character"));
error_with_progname = true;
}
if (c >= UNICODE (0xd800) && c < UNICODE (0xdc00))
{
utf16_surr = UTF16_VALUE (c);
- utf16_surr_line = gram_pos.line_number;
+ utf16_surr_line = pos.line_number;
}
else if (c >= UNICODE (0xdc00) && c < UNICODE (0xe000))
- utf8_buffer_append_lone_surrogate (UTF16_VALUE (c), gram_pos.line_number);
+ utf8_buffer_append_lone_surrogate (UTF16_VALUE (c), pos.line_number);
else
{
ucs4_t uc = UTF16_VALUE (c);
{
error_with_progname = false;
po_xerror (PO_SEVERITY_ERROR, NULL,
- real_file_name, gram_pos.line_number, (size_t)(-1),
+ real_file_name, pos.line_number, (size_t)(-1),
false, _("warning: invalid Unicode character"));
error_with_progname = true;
}
position = 0;
real_file_name = real_filename;
- gram_pos.file_name = xstrdup (real_file_name);
- gram_pos.line_number = 1;
+ pos.file_name = xstrdup (real_file_name);
+ pos.line_number = 1;
for (;;)
{
char *msgid;
lex_pos_ty msgid_pos;
- msgid_pos = gram_pos;
+ msgid_pos = pos;
msgid = read_escaped_string (true);
if (msgid == NULL)
/* Skip blank line. */
lex_pos_ty msgstr_pos;
bool force_fuzzy;
- msgstr_pos = gram_pos;
+ msgstr_pos = pos;
msgstr = read_escaped_string (false);
if (msgstr == NULL)
msgstr = xstrdup ("");
free (contents);
contents = NULL;
real_file_name = NULL;
- gram_pos.line_number = 0;
+ pos.line_number = 0;
}
const struct catalog_input_format input_format_properties =
static const char *real_file_name;
/* File name and line number. */
-extern lex_pos_ty gram_pos;
+static lex_pos_ty pos;
/* The input file stream. */
static FILE *fp;
int c = phase2_getc ();
if (c == '\n')
- gram_pos.line_number++;
+ pos.line_number++;
return c;
}
phase3_ungetc (int c)
{
if (c == '\n')
- --gram_pos.line_number;
+ --pos.line_number;
phase2_ungetc (c);
}
conv_from_ucs4 (const int *buffer, size_t buflen)
{
unsigned char *utf8_string;
- size_t pos;
+ size_t i;
unsigned char *q;
/* Each UCS-4 word needs 6 bytes at worst. */
utf8_string = XNMALLOC (6 * buflen + 1, unsigned char);
- for (pos = 0, q = utf8_string; pos < buflen; )
+ for (i = 0, q = utf8_string; i < buflen; )
{
unsigned int uc;
int n;
- uc = buffer[pos++];
+ uc = buffer[i++];
n = u8_uctomb (q, uc, 6);
assert (n > 0);
q += n;
/* Read a key or value string.
Return the string in UTF-8 encoding, or NULL if no string is seen.
- Return the start position of the string in *pos. */
+ Return the start position of the string in *start_pos. */
static char *
-read_string (abstract_catalog_reader_ty *catr, lex_pos_ty *pos)
+read_string (abstract_catalog_reader_ty *catr, lex_pos_ty *start_pos)
{
static int *buffer;
static size_t bufmax;
/* No more string. */
return NULL;
- *pos = gram_pos;
+ *start_pos = pos;
buflen = 0;
if (c == '"')
{
}
if (c == UEOF)
po_xerror (PO_SEVERITY_ERROR, NULL,
- real_file_name, gram_pos.line_number, (size_t)(-1), false,
+ real_file_name, pos.line_number, (size_t)(-1), false,
_("warning: unterminated string"));
}
else
/* Read a token outside quotes. */
if (is_quotable (c))
po_xerror (PO_SEVERITY_ERROR, NULL,
- real_file_name, gram_pos.line_number, (size_t)(-1), false,
+ real_file_name, pos.line_number, (size_t)(-1), false,
_("warning: syntax error"));
for (; c != UEOF && !is_quotable (c); c = phase4_getc (catr))
{
{
fp = file;
real_file_name = real_filename;
- gram_pos.file_name = xstrdup (real_file_name);
- gram_pos.line_number = 1;
+ pos.file_name = xstrdup (real_file_name);
+ pos.line_number = 1;
encoding = enc_undetermined;
expect_fuzzy_msgstr_as_c_comment = false;
expect_fuzzy_msgstr_as_cxx_comment = false;
if (c == UEOF)
{
po_xerror (PO_SEVERITY_ERROR, NULL,
- real_file_name, gram_pos.line_number, (size_t)(-1), false,
+ real_file_name, pos.line_number, (size_t)(-1), false,
_("warning: unterminated key/value pair"));
break;
}
if (msgstr == NULL)
{
po_xerror (PO_SEVERITY_ERROR, NULL,
- real_file_name, gram_pos.line_number, (size_t)(-1),
+ real_file_name, pos.line_number, (size_t)(-1),
false, _("warning: unterminated key/value pair"));
break;
}
else
{
po_xerror (PO_SEVERITY_ERROR, NULL,
- real_file_name, gram_pos.line_number, (size_t)(-1),
+ real_file_name, pos.line_number, (size_t)(-1),
false,
_("warning: syntax error, expected ';' after string"));
break;
else
{
po_xerror (PO_SEVERITY_ERROR, NULL,
- real_file_name, gram_pos.line_number, (size_t)(-1), false,
+ real_file_name, pos.line_number, (size_t)(-1), false,
_("warning: syntax error, expected '=' or ';' after string"));
break;
}
fp = NULL;
real_file_name = NULL;
- gram_pos.line_number = 0;
+ pos.line_number = 0;
}
const struct catalog_input_format input_format_stringtable =