Annotation of src/usr.bin/dirname/dirname.c, Revision 1.3
1.3 ! millert 1: /* $OpenBSD$ */
1.1 deraadt 2:
1.3 ! millert 3: /*
! 4: * Copyright (c) 1997 Todd C. Miller <Todd.Miller@courtesan.com>
! 5: * All rights reserved.
1.1 deraadt 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. All advertising materials mentioning features or use of this software
16: * must display the following acknowledgement:
1.3 ! millert 17: * This product includes software developed by Todd C. Miller.
! 18: * 4. The name of the author may not be used to endorse or promote products
! 19: * derived from this software without specific prior written permission.
1.1 deraadt 20: *
1.3 ! millert 21: * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES,
! 22: * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
! 23: * AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
! 24: * THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
! 25: * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
! 26: * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
! 27: * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
! 28: * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
! 29: * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
! 30: * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
1.1 deraadt 31: */
32:
33: #ifndef lint
1.3 ! millert 34: static char rcsid[] = "$OpenBSD$";
! 35: #endif /* not lint */
1.1 deraadt 36:
1.3 ! millert 37: #include <libgen.h>
! 38: #include <locale.h>
1.1 deraadt 39: #include <stdio.h>
40:
41: int
42: main(argc, argv)
43: int argc;
44: char **argv;
45: {
1.3 ! millert 46: char *dir;
! 47: extern char *__progname;
1.1 deraadt 48:
49: setlocale(LC_ALL, "");
50:
1.3 ! millert 51: if (argc != 2) {
! 52: (void)fprintf(stderr, "Usage: %s dirname\n", __progname);
! 53: exit(1);
1.1 deraadt 54: }
55:
1.3 ! millert 56: if ((dir = dirname(argv[1])) == NULL)
! 57: err(1, NULL);
! 58: puts(dir);
1.1 deraadt 59: exit(0);
60: }