ln.c revision 4f6e8d7a00cbeda1e70cc15be9c4af1018bdad53
1#include <stdio.h> 2#include <unistd.h> 3#include <string.h> 4#include <errno.h> 5 6static int usage() 7{ 8 fprintf(stderr,"ln [-s] <target> <name>\n"); 9 return -1; 10} 11 12int ln_main(int argc, char *argv[]) 13{ 14 int symbolic = 0; 15 int ret; 16 if(argc < 2) return usage(); 17 18 if(!strcmp(argv[1],"-s")) { 19 symbolic = 1; 20 argc--; 21 argv++; 22 } 23 24 if(argc < 3) return usage(); 25 26 if(symbolic) { 27 ret = symlink(argv[1], argv[2]); 28 } else { 29 ret = link(argv[1], argv[2]); 30 } 31 if(ret < 0) 32 fprintf(stderr, "link failed %s\n", strerror(errno)); 33 return ret; 34} 35