~ubuntu-branches/ubuntu/utopic/gettext/utopic

« back to all changes in this revision

Viewing changes to gettext-tools/src/po-xerror.c

  • Committer: Colin Watson
  • Date: 2010-08-01 21:36:08 UTC
  • mfrom: (2.1.10 sid)
  • Revision ID: cjwatson@canonical.com-20100801213608-yy7vkm8lpatep3ci
merge from Debian 0.18.1.1-1

Show diffs side-by-side

added added

removed removed

Lines of Context:
41
41
 
42
42
static void
43
43
xerror (int severity, const char *prefix_tail,
44
 
        const char *filename, size_t lineno, size_t column,
45
 
        int multiline_p, const char *message_text)
 
44
        const char *filename, size_t lineno, size_t column,
 
45
        int multiline_p, const char *message_text)
46
46
{
47
47
  if (multiline_p)
48
48
    {
50
50
      char *prefix;
51
51
 
52
52
      if (filename != NULL)
53
 
        {
54
 
          if (lineno != (size_t)(-1))
55
 
            {
56
 
              if (column != (size_t)(-1))
57
 
                prefix =
58
 
                  xasprintf ("%s:%ld:%ld: %s", filename,
59
 
                             (long) lineno, (long) column, prefix_tail);
60
 
              else
61
 
                prefix =
62
 
                  xasprintf ("%s:%ld: %s", filename,
63
 
                             (long) lineno, prefix_tail);
64
 
            }
65
 
          else
66
 
            prefix = xasprintf ("%s: %s", filename, prefix_tail);
67
 
          error_with_progname = false;
68
 
        }
 
53
        {
 
54
          if (lineno != (size_t)(-1))
 
55
            {
 
56
              if (column != (size_t)(-1))
 
57
                prefix =
 
58
                  xasprintf ("%s:%ld:%ld: %s", filename,
 
59
                             (long) lineno, (long) column, prefix_tail);
 
60
              else
 
61
                prefix =
 
62
                  xasprintf ("%s:%ld: %s", filename,
 
63
                             (long) lineno, prefix_tail);
 
64
            }
 
65
          else
 
66
            prefix = xasprintf ("%s: %s", filename, prefix_tail);
 
67
          error_with_progname = false;
 
68
        }
69
69
      else
70
 
        prefix = xasprintf ("%s: %s", program_name, prefix_tail);
 
70
        prefix = xasprintf ("%s: %s", program_name, prefix_tail);
71
71
 
72
72
      if (severity >= PO_SEVERITY_ERROR)
73
 
        po_multiline_error (prefix, xstrdup (message_text));
 
73
        po_multiline_error (prefix, xstrdup (message_text));
74
74
      else
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;
77
77
 
78
78
      if (severity == PO_SEVERITY_FATAL_ERROR)
79
 
        exit (EXIT_FAILURE);
 
79
        exit (EXIT_FAILURE);
80
80
    }
81
81
  else
82
82
    {
83
83
      int exit_status =
84
 
        (severity == PO_SEVERITY_FATAL_ERROR ? EXIT_FAILURE : 0);
 
84
        (severity == PO_SEVERITY_FATAL_ERROR ? EXIT_FAILURE : 0);
85
85
 
86
86
      if (filename != NULL)
87
 
        {
88
 
          error_with_progname = false;
89
 
          if (lineno != (size_t)(-1))
90
 
            {
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);
95
 
              else
96
 
                po_error_at_line (exit_status, 0, filename, lineno, "%s%s",
97
 
                                  prefix_tail, message_text);
98
 
            }
99
 
          else
100
 
            po_error (exit_status, 0, "%s: %s%s",
101
 
                      filename, prefix_tail, message_text);
102
 
          error_with_progname = true;
103
 
        }
 
87
        {
 
88
          error_with_progname = false;
 
89
          if (lineno != (size_t)(-1))
 
90
            {
 
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);
 
95
              else
 
96
                po_error_at_line (exit_status, 0, filename, lineno, "%s%s",
 
97
                                  prefix_tail, message_text);
 
98
            }
 
99
          else
 
100
            po_error (exit_status, 0, "%s: %s%s",
 
101
                      filename, prefix_tail, message_text);
 
102
          error_with_progname = true;
 
103
        }
104
104
      else
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;
108
108
    }
109
109
}
110
110
 
113
113
   other.  */
114
114
void
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)
119
119
{
120
120
  const char *prefix_tail =
121
121
    (severity == PO_SEVERITY_WARNING ? _("warning: ") : "");
128
128
    }
129
129
 
130
130
  xerror (severity, prefix_tail, filename, lineno, column,
131
 
          multiline_p, message_text);
 
131
          multiline_p, message_text);
132
132
}
133
133
 
134
134
void
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)
142
142
{
143
143
  int severity1 = /* Don't exit before both texts have been output.  */
144
144
    (severity == PO_SEVERITY_FATAL_ERROR ? PO_SEVERITY_ERROR : severity);
161
161
 
162
162
  if (multiline_p1)
163
163
    xerror (severity1, prefix_tail, filename1, lineno1, column1, multiline_p1,
164
 
            message_text1);
 
164
            message_text1);
165
165
  else
166
166
    {
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);
171
171
    }
172
172
 
173
173
  {
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);
178
178
  }
179
179
 
183
183
}
184
184
 
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;
190
190
 
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;