mirror of https://git.qorg11.net/k9core.git
added errno to ln.c
This commit is contained in:
parent
0ee58ebd7b
commit
c0935a1b07
50
src/ln.c
50
src/ln.c
|
@ -1,10 +1,12 @@
|
|||
#include <stdio.h>
|
||||
#include <unistd.h>
|
||||
#include <errno.h>
|
||||
#include <string.h>
|
||||
|
||||
int
|
||||
main(int argc, char *argv[])
|
||||
{
|
||||
|
||||
|
||||
if(argc == 1)
|
||||
{
|
||||
printf("Usage: ln oldfile newfile\n");
|
||||
|
@ -16,29 +18,29 @@ main(int argc, char *argv[])
|
|||
if(opts == 'f') fflag=1;
|
||||
switch(opts)
|
||||
{
|
||||
case 's':
|
||||
if(fflag == 1 && (access(argv[3], F_OK) != 1)) {
|
||||
if(remove(argv[3]) == -1)
|
||||
rmdir(argv[3]);
|
||||
}
|
||||
int symstat = symlink(argv[2],argv[3]);
|
||||
if(symstat == -1)
|
||||
{
|
||||
fprintf(stderr, "Symlink error!");
|
||||
return 1;
|
||||
}
|
||||
break;
|
||||
case '?':
|
||||
printf("-%c: Argument not found", optopt);
|
||||
break;
|
||||
default:
|
||||
fd = link(argv[1],argv[2]);
|
||||
if(fd == -1)
|
||||
{
|
||||
fprintf(stderr,"Error creating link\n");
|
||||
return 1;
|
||||
}
|
||||
return 0;
|
||||
case 's':
|
||||
if(fflag == 1 && (access(argv[3], F_OK) != 1)) {
|
||||
if(remove(argv[3]) == -1)
|
||||
rmdir(argv[3]);
|
||||
}
|
||||
int symstat = symlink(argv[2],argv[3]);
|
||||
if(symstat == -1)
|
||||
{
|
||||
fprintf(stderr, "Symlink error!");
|
||||
return 1;
|
||||
}
|
||||
break;
|
||||
case '?':
|
||||
printf("-%c: Argument not found", optopt);
|
||||
break;
|
||||
default:
|
||||
fd = link(argv[1],argv[2]);
|
||||
if(fd == -1)
|
||||
{
|
||||
fprintf(stderr,"Error creating link: %i = %s\n",errno,strerror(errno));
|
||||
return 1;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue