summaryrefslogtreecommitdiff
path: root/src/printf.c
diff options
context:
space:
mode:
authorJim Meyering <meyering@redhat.com>2007-10-20 14:48:29 +0200
committerJim Meyering <meyering@redhat.com>2007-10-21 14:01:27 +0200
commitb1ab7101aab74733267aee82c714573ae887dd91 (patch)
tree9361310dc5d7d3a454d811c1713fcf16b35b96d9 /src/printf.c
parent60a5ad4b94535bdf4287d9e6892b8fe597484d00 (diff)
downloadcoreutils-b1ab7101aab74733267aee82c714573ae887dd91.tar.xz
Detect printf(3) failure due to ENOMEM.
* src/printf.c: Include "xprintf.h" (print_direc): Use xprintf, rather than printf. * bootstrap.conf (gnulib_modules): Add xprintf. * po/POTFILES.in: Add lib/xprintf.c. Signed-off-by: Jim Meyering <meyering@redhat.com>
Diffstat (limited to 'src/printf.c')
-rw-r--r--src/printf.c37
1 files changed, 19 insertions, 18 deletions
diff --git a/src/printf.c b/src/printf.c
index 7f87f3f65..483f3a98c 100644
--- a/src/printf.c
+++ b/src/printf.c
@@ -56,6 +56,7 @@
#include "long-options.h"
#include "quote.h"
#include "unicodeio.h"
+#include "xprintf.h"
/* The official name of this program (e.g., no `g' prefix). */
#define PROGRAM_NAME "printf"
@@ -373,16 +374,16 @@ print_direc (const char *start, size_t length, char conversion,
if (!have_field_width)
{
if (!have_precision)
- printf (p, arg);
+ xprintf (p, arg);
else
- printf (p, precision, arg);
+ xprintf (p, precision, arg);
}
else
{
if (!have_precision)
- printf (p, field_width, arg);
+ xprintf (p, field_width, arg);
else
- printf (p, field_width, precision, arg);
+ xprintf (p, field_width, precision, arg);
}
}
break;
@@ -396,16 +397,16 @@ print_direc (const char *start, size_t length, char conversion,
if (!have_field_width)
{
if (!have_precision)
- printf (p, arg);
+ xprintf (p, arg);
else
- printf (p, precision, arg);
+ xprintf (p, precision, arg);
}
else
{
if (!have_precision)
- printf (p, field_width, arg);
+ xprintf (p, field_width, arg);
else
- printf (p, field_width, precision, arg);
+ xprintf (p, field_width, precision, arg);
}
}
break;
@@ -423,41 +424,41 @@ print_direc (const char *start, size_t length, char conversion,
if (!have_field_width)
{
if (!have_precision)
- printf (p, arg);
+ xprintf (p, arg);
else
- printf (p, precision, arg);
+ xprintf (p, precision, arg);
}
else
{
if (!have_precision)
- printf (p, field_width, arg);
+ xprintf (p, field_width, arg);
else
- printf (p, field_width, precision, arg);
+ xprintf (p, field_width, precision, arg);
}
}
break;
case 'c':
if (!have_field_width)
- printf (p, *argument);
+ xprintf (p, *argument);
else
- printf (p, field_width, *argument);
+ xprintf (p, field_width, *argument);
break;
case 's':
if (!have_field_width)
{
if (!have_precision)
- printf (p, argument);
+ xprintf (p, argument);
else
- printf (p, precision, argument);
+ xprintf (p, precision, argument);
}
else
{
if (!have_precision)
- printf (p, field_width, argument);
+ xprintf (p, field_width, argument);
else
- printf (p, field_width, precision, argument);
+ xprintf (p, field_width, precision, argument);
}
break;
}