localedef: improve error message [BZ #16985]

If you pass in a path that fails to be opened, then output_path is set to
NULL, and an error is flagged.  Then at the end, we use both of those:
	cannot write output files to `(null)': No such file or directory

Tweak the message to use the user's input when output_path is NULL.
This commit is contained in:
Mike Frysinger 2015-08-29 16:37:29 -04:00
parent a1f99ba28b
commit b482d0364e
3 changed files with 11 additions and 5 deletions

View File

@ -1,3 +1,9 @@
2015-09-11 Mike Frysinger <vapier@gentoo.org>
[BZ #16985]
* programs/localedef.c (main): Display argv[remaining] when
output_path is NULL.
2015-09-11 Joseph Myers <joseph@codesourcery.com> 2015-09-11 Joseph Myers <joseph@codesourcery.com>
* math/auto-libm-test-in: Add more tests of acos, acosh, asin, * math/auto-libm-test-in: Add more tests of acos, acosh, asin,

8
NEWS
View File

@ -10,10 +10,10 @@ Version 2.23
* The following bugs are resolved with this release: * The following bugs are resolved with this release:
2542, 2543, 2558, 2898, 14341, 14912, 15786, 16141, 16517, 16519, 16520, 2542, 2543, 2558, 2898, 14341, 14912, 15786, 16141, 16517, 16519, 16520,
16734, 16973, 17787, 17905, 18084, 18086, 18240, 18265, 18370, 18421, 16734, 16973, 16985, 17787, 17905, 18084, 18086, 18240, 18265, 18370,
18480, 18525, 18610, 18618, 18647, 18661, 18674, 18675, 18681, 18757, 18421, 18480, 18525, 18610, 18618, 18647, 18661, 18674, 18675, 18681,
18778, 18781, 18787, 18789, 18790, 18795, 18796, 18820, 18823, 18824, 18757, 18778, 18781, 18787, 18789, 18790, 18795, 18796, 18820, 18823,
18863, 18870, 18873, 18887, 18921, 18952. 18824, 18863, 18870, 18873, 18887, 18921, 18952.
* The obsolete header <regexp.h> has been removed. Programs that require * The obsolete header <regexp.h> has been removed. Programs that require
this header must be updated to use <regex.h> instead. this header must be updated to use <regex.h> instead.

View File

@ -286,7 +286,7 @@ cannot open locale definition file `%s'"), runp->name));
{ {
if (cannot_write_why != 0) if (cannot_write_why != 0)
WITH_CUR_LOCALE (error (4, cannot_write_why, _("\ WITH_CUR_LOCALE (error (4, cannot_write_why, _("\
cannot write output files to `%s'"), output_path)); cannot write output files to `%s'"), output_path ? : argv[remaining]));
else else
write_all_categories (locales, charmap, argv[remaining], output_path); write_all_categories (locales, charmap, argv[remaining], output_path);
} }