52
52
if (filename != NULL)
54
if (lineno != (size_t)(-1))
56
if (column != (size_t)(-1))
58
xasprintf ("%s:%ld:%ld: %s", filename,
59
(long) lineno, (long) column, prefix_tail);
62
xasprintf ("%s:%ld: %s", filename,
63
(long) lineno, prefix_tail);
66
prefix = xasprintf ("%s: %s", filename, prefix_tail);
67
error_with_progname = false;
54
if (lineno != (size_t)(-1))
56
if (column != (size_t)(-1))
58
xasprintf ("%s:%ld:%ld: %s", filename,
59
(long) lineno, (long) column, prefix_tail);
62
xasprintf ("%s:%ld: %s", filename,
63
(long) lineno, prefix_tail);
66
prefix = xasprintf ("%s: %s", filename, prefix_tail);
67
error_with_progname = false;
70
prefix = xasprintf ("%s: %s", program_name, prefix_tail);
70
prefix = xasprintf ("%s: %s", program_name, prefix_tail);
72
72
if (severity >= PO_SEVERITY_ERROR)
73
po_multiline_error (prefix, xstrdup (message_text));
73
po_multiline_error (prefix, xstrdup (message_text));
75
po_multiline_warning (prefix, xstrdup (message_text));
75
po_multiline_warning (prefix, xstrdup (message_text));
76
76
error_with_progname = old_error_with_progname;
78
78
if (severity == PO_SEVERITY_FATAL_ERROR)
84
(severity == PO_SEVERITY_FATAL_ERROR ? EXIT_FAILURE : 0);
84
(severity == PO_SEVERITY_FATAL_ERROR ? EXIT_FAILURE : 0);
86
86
if (filename != NULL)
88
error_with_progname = false;
89
if (lineno != (size_t)(-1))
91
if (column != (size_t)(-1))
92
po_error (exit_status, 0, "%s:%ld:%ld: %s%s",
93
filename, (long) lineno, (long) column,
94
prefix_tail, message_text);
96
po_error_at_line (exit_status, 0, filename, lineno, "%s%s",
97
prefix_tail, message_text);
100
po_error (exit_status, 0, "%s: %s%s",
101
filename, prefix_tail, message_text);
102
error_with_progname = true;
88
error_with_progname = false;
89
if (lineno != (size_t)(-1))
91
if (column != (size_t)(-1))
92
po_error (exit_status, 0, "%s:%ld:%ld: %s%s",
93
filename, (long) lineno, (long) column,
94
prefix_tail, message_text);
96
po_error_at_line (exit_status, 0, filename, lineno, "%s%s",
97
prefix_tail, message_text);
100
po_error (exit_status, 0, "%s: %s%s",
101
filename, prefix_tail, message_text);
102
error_with_progname = true;
105
po_error (exit_status, 0, "%s%s", prefix_tail, message_text);
105
po_error (exit_status, 0, "%s%s", prefix_tail, message_text);
106
106
if (severity < PO_SEVERITY_ERROR)
107
--error_message_count;
107
--error_message_count;
115
115
textmode_xerror (int severity,
116
const struct message_ty *message,
117
const char *filename, size_t lineno, size_t column,
118
int multiline_p, const char *message_text)
116
const struct message_ty *message,
117
const char *filename, size_t lineno, size_t column,
118
int multiline_p, const char *message_text)
120
120
const char *prefix_tail =
121
121
(severity == PO_SEVERITY_WARNING ? _("warning: ") : "");
130
130
xerror (severity, prefix_tail, filename, lineno, column,
131
multiline_p, message_text);
131
multiline_p, message_text);
135
135
textmode_xerror2 (int severity,
136
const struct message_ty *message1,
137
const char *filename1, size_t lineno1, size_t column1,
138
int multiline_p1, const char *message_text1,
139
const struct message_ty *message2,
140
const char *filename2, size_t lineno2, size_t column2,
141
int multiline_p2, const char *message_text2)
136
const struct message_ty *message1,
137
const char *filename1, size_t lineno1, size_t column1,
138
int multiline_p1, const char *message_text1,
139
const struct message_ty *message2,
140
const char *filename2, size_t lineno2, size_t column2,
141
int multiline_p2, const char *message_text2)
143
143
int severity1 = /* Don't exit before both texts have been output. */
144
144
(severity == PO_SEVERITY_FATAL_ERROR ? PO_SEVERITY_ERROR : severity);
162
162
if (multiline_p1)
163
163
xerror (severity1, prefix_tail, filename1, lineno1, column1, multiline_p1,
167
167
char *message_text1_extended = xasprintf ("%s...", message_text1);
168
168
xerror (severity1, prefix_tail, filename1, lineno1, column1,
169
multiline_p1, message_text1_extended);
169
multiline_p1, message_text1_extended);
170
170
free (message_text1_extended);
174
174
char *message_text2_extended = xasprintf ("...%s", message_text2);
175
175
xerror (severity, prefix_tail, filename2, lineno2, column2,
176
multiline_p2, message_text2_extended);
176
multiline_p2, message_text2_extended);
177
177
free (message_text2_extended);
185
185
void (*po_xerror) (int severity,
186
const struct message_ty *message,
187
const char *filename, size_t lineno, size_t column,
188
int multiline_p, const char *message_text)
186
const struct message_ty *message,
187
const char *filename, size_t lineno, size_t column,
188
int multiline_p, const char *message_text)
189
189
= textmode_xerror;
191
191
void (*po_xerror2) (int severity,
192
const struct message_ty *message1,
193
const char *filename1, size_t lineno1, size_t column1,
194
int multiline_p1, const char *message_text1,
195
const struct message_ty *message2,
196
const char *filename2, size_t lineno2, size_t column2,
197
int multiline_p2, const char *message_text2)
192
const struct message_ty *message1,
193
const char *filename1, size_t lineno1, size_t column1,
194
int multiline_p1, const char *message_text1,
195
const struct message_ty *message2,
196
const char *filename2, size_t lineno2, size_t column2,
197
int multiline_p2, const char *message_text2)
198
198
= textmode_xerror2;