Annotation of src/usr.bin/readlink/readlink.c, Revision 1.5
1.3 kstailey 1: /*
1.5 ! deraadt 2: * $OpenBSD: readlink.c,v 1.4 1997/06/28 04:56:49 grr Exp $
1.3 kstailey 3: *
4: * Copyright (c) 1997
5: * Kenneth Stailey (hereinafter referred to as the author)
6: *
7: * Redistribution and use in source and binary forms, with or without
8: * modification, are permitted provided that the following conditions
9: * are met:
10: * 1. Redistributions of source code must retain the above copyright
11: * notice, this list of conditions and the following disclaimer.
12: * 2. Redistributions in binary form must reproduce the above copyright
13: * notice, this list of conditions and the following disclaimer in the
14: * documentation and/or other materials provided with the distribution.
15: * 3. The name of the author may not be used to endorse or promote products
16: * derived from this software without specific prior written permission.
17: *
18: * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
19: * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
20: * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
21: * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
22: * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
23: * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
24: * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
25: * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
26: * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
27: * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
28: */
29:
1.1 kstailey 30: #include <sys/syslimits.h>
31: #include <stdio.h>
32: #include <unistd.h>
1.2 deraadt 33: #include <err.h>
1.1 kstailey 34:
35: int
36: main(argc, argv)
37: int argc;
38: char **argv;
39: {
40: char buf[PATH_MAX];
1.4 grr 41: int n;
1.1 kstailey 42:
1.5 ! deraadt 43: if (argc != 2) {
! 44: frintf(stderr, "usage: readlink symlink");
! 45: exit(1);
! 46: }
1.1 kstailey 47:
1.4 grr 48: if ((n = readlink(argv[1], buf, PATH_MAX)) < 0)
1.1 kstailey 49: exit(1);
1.4 grr 50:
51: buf[n] = '\0';
52: printf("%s", buf);
1.1 kstailey 53: exit(0);
54: }