I hate git.
This commit is contained in:
commit
66dbedad82
1
TODO
1
TODO
|
@ -1,3 +1,4 @@
|
|||
* The rest of programs.
|
||||
* Manuals
|
||||
* flags for the programs
|
||||
* fix yes (constantly returns y when no argument is passed)
|
25
src/ln.c
25
src/ln.c
|
@ -1,8 +1,6 @@
|
|||
#include <stdio.h>
|
||||
#include <unistd.h>
|
||||
|
||||
/* TODO -s flag */
|
||||
|
||||
int
|
||||
main(int argc, char *argv[])
|
||||
{
|
||||
|
@ -12,20 +10,27 @@ main(int argc, char *argv[])
|
|||
printf("Usage: ln oldfile newfile\n");
|
||||
return 1;
|
||||
}
|
||||
|
||||
int c = getopt(argc, argv, "s");
|
||||
if(c == 's')
|
||||
int opts;
|
||||
int fd;
|
||||
/* I am aware that this doesn't conform to style, but it's the only option that actually works */
|
||||
while((opts = getopt(argc, argv, "s:")) != -1)
|
||||
{
|
||||
switch(opts)
|
||||
{
|
||||
case 's':
|
||||
symlink(argv[2],argv[3]);
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
int fd = link(argv[1],argv[2]);
|
||||
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;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue