rev: use warn() in errs.h

The function warn() in rev.c is actually duplicate code,
so here we remove it.

Signed-off-by: Li Zefan <lizf@cn.fujitsu.com>
Signed-off-by: Karel Zak <kzak@redhat.com>
This commit is contained in:
Li Zefan 2007-09-10 14:45:37 +08:00 committed by Karel Zak
parent bae1150386
commit fffe39059d
1 changed files with 8 additions and 21 deletions

View File

@ -51,12 +51,12 @@
#include <stdlib.h>
#include <string.h>
#include <unistd.h>
#include "nls.h"
#include <err.h>
#include "nls.h"
#include "widechar.h"
void usage(void);
void warn(const char *, ...);
int
main(int argc, char *argv[])
@ -89,7 +89,7 @@ main(int argc, char *argv[])
do {
if (*argv) {
if ((fp = fopen(*argv, "r")) == NULL) {
warn("%s: %s", *argv, strerror(errno));
warn("cannot open %s", *argv );
rval = 1;
++argv;
continue;
@ -109,19 +109,17 @@ main(int argc, char *argv[])
buflen *= 2;
p = realloc(p, buflen*sizeof(wchar_t));
if (p == NULL) {
fprintf(stderr,_("Unable to allocate bufferspace\n"));
exit(1);
}
if (p == NULL)
err(1, _("unable to allocate bufferspace"));
/* And fill the rest of the buffer */
if (fgetws(&p[len], buflen/2, fp) == NULL) break;
len = wcslen(p);
/* That was a lot of work for nothing. Gimme perl! */
}
t = p + len - 1 - (*(p+len-1)=='\r' || *(p+len-1)=='\n');
for ( ; t >= p; --t)
if (*t != 0)
@ -130,7 +128,7 @@ main(int argc, char *argv[])
}
fflush(fp);
if (ferror(fp)) {
warn("%s: %s", filename, strerror(errno));
warn("%s", filename);
rval = 1;
}
if (fclose(fp))
@ -139,17 +137,6 @@ main(int argc, char *argv[])
exit(rval);
}
void
warn(const char *fmt, ...)
{
va_list ap;
va_start(ap, fmt);
(void)fprintf(stderr, "rev: ");
(void)vfprintf(stderr, fmt, ap);
va_end(ap);
(void)fprintf(stderr, "\n");
}
void
usage(void)
{