diff options
Diffstat (limited to 'src/main/extract.c')
-rw-r--r-- | src/main/extract.c | 22 |
1 files changed, 12 insertions, 10 deletions
diff --git a/src/main/extract.c b/src/main/extract.c index 8558548..5f6fa4c 100644 --- a/src/main/extract.c +++ b/src/main/extract.c | |||
@@ -91,7 +91,7 @@ static void formatHelp(const char * general, | |||
91 | int j; | 91 | int j; |
92 | int ml; | 92 | int ml; |
93 | int p; | 93 | int p; |
94 | char * scp; | 94 | char scp[80]; |
95 | const char * trans; | 95 | const char * trans; |
96 | 96 | ||
97 | printf(_("Usage: %s\n%s\n\n"), | 97 | printf(_("Usage: %s\n%s\n\n"), |
@@ -129,7 +129,6 @@ static void formatHelp(const char * general, | |||
129 | while (ml - p > 78 - slen) { | 129 | while (ml - p > 78 - slen) { |
130 | for (j=p+78-slen;j>p;j--) { | 130 | for (j=p+78-slen;j>p;j--) { |
131 | if (isspace( (unsigned char) trans[j])) { | 131 | if (isspace( (unsigned char) trans[j])) { |
132 | scp = malloc(j-p+1); | ||
133 | memcpy(scp, | 132 | memcpy(scp, |
134 | &trans[p], | 133 | &trans[p], |
135 | j-p); | 134 | j-p); |
@@ -138,14 +137,12 @@ static void formatHelp(const char * general, | |||
138 | scp, | 137 | scp, |
139 | BORDER+2, | 138 | BORDER+2, |
140 | ""); | 139 | ""); |
141 | free(scp); | ||
142 | p = j+1; | 140 | p = j+1; |
143 | slen = BORDER+2; | 141 | slen = BORDER+2; |
144 | goto OUTER; | 142 | goto OUTER; |
145 | } | 143 | } |
146 | } | 144 | } |
147 | /* could not find space to break line */ | 145 | /* could not find space to break line */ |
148 | scp = malloc(78 - slen + 1); | ||
149 | memcpy(scp, | 146 | memcpy(scp, |
150 | &trans[p], | 147 | &trans[p], |
151 | 78 - slen); | 148 | 78 - slen); |
@@ -154,7 +151,6 @@ static void formatHelp(const char * general, | |||
154 | scp, | 151 | scp, |
155 | BORDER+2, | 152 | BORDER+2, |
156 | ""); | 153 | ""); |
157 | free(scp); | ||
158 | slen = BORDER+2; | 154 | slen = BORDER+2; |
159 | p = p + 78 - slen; | 155 | p = p + 78 - slen; |
160 | } | 156 | } |
@@ -230,6 +226,7 @@ print_selected_keywords (void *cls, | |||
230 | char * keyword; | 226 | char * keyword; |
231 | iconv_t cd; | 227 | iconv_t cd; |
232 | const char *stype; | 228 | const char *stype; |
229 | const char *mt; | ||
233 | 230 | ||
234 | if (print[type] != YES) | 231 | if (print[type] != YES) |
235 | return 0; | 232 | return 0; |
@@ -237,7 +234,8 @@ print_selected_keywords (void *cls, | |||
237 | fprintf (stdout, | 234 | fprintf (stdout, |
238 | _("Found by `%s' plugin:\n"), | 235 | _("Found by `%s' plugin:\n"), |
239 | plugin_name); | 236 | plugin_name); |
240 | stype = gettext(EXTRACTOR_metatype_to_string(type)); | 237 | mt = EXTRACTOR_metatype_to_string(type); |
238 | stype = (mt == NULL) ? _("unknown") : gettext(mt); | ||
241 | switch (format) | 239 | switch (format) |
242 | { | 240 | { |
243 | case EXTRACTOR_METAFORMAT_UNKNOWN: | 241 | case EXTRACTOR_METAFORMAT_UNKNOWN: |
@@ -312,9 +310,13 @@ print_selected_keywords_grep_friendly (void *cls, | |||
312 | { | 310 | { |
313 | char * keyword; | 311 | char * keyword; |
314 | iconv_t cd; | 312 | iconv_t cd; |
313 | const char *mt; | ||
315 | 314 | ||
316 | if (print[type] != YES) | 315 | if (print[type] != YES) |
317 | return 0; | 316 | return 0; |
317 | mt = EXTRACTOR_metatype_to_string(type); | ||
318 | if (mt == NULL) | ||
319 | mt = gettext_noop ("unknown"); | ||
318 | switch (format) | 320 | switch (format) |
319 | { | 321 | { |
320 | case EXTRACTOR_METAFORMAT_UNKNOWN: | 322 | case EXTRACTOR_METAFORMAT_UNKNOWN: |
@@ -323,7 +325,7 @@ print_selected_keywords_grep_friendly (void *cls, | |||
323 | if (verbose > 1) | 325 | if (verbose > 1) |
324 | fprintf (stdout, | 326 | fprintf (stdout, |
325 | "%s: ", | 327 | "%s: ", |
326 | gettext(EXTRACTOR_metatype_to_string(type))); | 328 | gettext(mt)); |
327 | cd = iconv_open(nl_langinfo(CODESET), "UTF-8"); | 329 | cd = iconv_open(nl_langinfo(CODESET), "UTF-8"); |
328 | if (cd != (iconv_t) -1) | 330 | if (cd != (iconv_t) -1) |
329 | keyword = iconv_helper(cd, | 331 | keyword = iconv_helper(cd, |
@@ -333,7 +335,7 @@ print_selected_keywords_grep_friendly (void *cls, | |||
333 | if (keyword != NULL) | 335 | if (keyword != NULL) |
334 | { | 336 | { |
335 | fprintf (stdout, | 337 | fprintf (stdout, |
336 | "'%s' ", | 338 | "`%s' ", |
337 | keyword); | 339 | keyword); |
338 | free(keyword); | 340 | free(keyword); |
339 | } | 341 | } |
@@ -346,9 +348,9 @@ print_selected_keywords_grep_friendly (void *cls, | |||
346 | if (verbose > 1) | 348 | if (verbose > 1) |
347 | fprintf (stdout, | 349 | fprintf (stdout, |
348 | "%s ", | 350 | "%s ", |
349 | gettext(EXTRACTOR_metatype_to_string(type))); | 351 | gettext(mt)); |
350 | fprintf (stdout, | 352 | fprintf (stdout, |
351 | "'%s'", | 353 | "`%s'", |
352 | data); | 354 | data); |
353 | break; | 355 | break; |
354 | default: | 356 | default: |