syserror() improvement and some usage in the coreutils
This commit is contained in:
parent
0ff31634d9
commit
382582dd0e
15
src/cat.c
15
src/cat.c
|
@ -2,6 +2,8 @@
|
|||
#include <unistd.h>
|
||||
#include <fcntl.h>
|
||||
|
||||
#include "lib/error.h"
|
||||
|
||||
int
|
||||
cat(int fd, char *string)
|
||||
{
|
||||
|
@ -11,15 +13,10 @@ cat(int fd, char *string)
|
|||
while((lines=read(fd, buf, (long)sizeof(buf)))>0)
|
||||
{
|
||||
if(write(1,buf,lines)!=lines)
|
||||
{
|
||||
fprintf(stderr,"Error copying. %s",string);
|
||||
return 1;
|
||||
}
|
||||
syserror("Error copying string %s\n",string);
|
||||
|
||||
if (lines < 0)
|
||||
{
|
||||
fprintf(stderr,"Error reading %s",string);
|
||||
return 1;
|
||||
}
|
||||
syserror("Error reading %s\n",string);
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
@ -37,7 +34,7 @@ main(int argc, char *argv[])
|
|||
{
|
||||
fd = open(argv[i],O_RDONLY);
|
||||
if(fd<0)
|
||||
fprintf(stderr,"Cannot open %s\n",argv[i]);
|
||||
syserror("Cannot open %s\n",argv[i]);
|
||||
else
|
||||
{
|
||||
cat(fd,argv[i]);
|
||||
|
|
|
@ -1,8 +1,12 @@
|
|||
#include <stdio.h>
|
||||
#include <stdarg.h>
|
||||
#include "error.h"
|
||||
|
||||
int syserror(char *msg)
|
||||
int syserror(const char *msg, ...)
|
||||
{
|
||||
fprintf(stderr,"%s",msg);
|
||||
va_list args;
|
||||
va_start(args,msg);
|
||||
vfprintf(stderr,msg,args);
|
||||
va_end(args);
|
||||
return 1;
|
||||
}
|
||||
|
|
|
@ -1 +1,3 @@
|
|||
int syserror(char *msg);
|
||||
#include <stdio.h>
|
||||
|
||||
int syserror(const char *msg, ...);
|
||||
|
|
4
src/rm.c
4
src/rm.c
|
@ -1,5 +1,7 @@
|
|||
#include <stdio.h>
|
||||
|
||||
#include "lib/error.h"
|
||||
|
||||
int
|
||||
main(int argc, char *argv[])
|
||||
{
|
||||
|
@ -14,7 +16,7 @@ main(int argc, char *argv[])
|
|||
int fd = remove(argv[i]);
|
||||
if(fd == -1)
|
||||
{
|
||||
fprintf(stderr,"Error removing file: %s\n",argv[i]);
|
||||
syserror("Error removing file: %s\n",argv[i]);
|
||||
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue