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