1
0
Files
2022-09-29 17:59:04 +03:00

41 lines
883 B
C

/* Copyright (c) 1990, 1991 UNIX System Laboratories, Inc. */
/* Copyright (c) 1988 AT&T */
/* All Rights Reserved */
/* THIS IS UNPUBLISHED PROPRIETARY SOURCE CODE OF */
/* UNIX System Laboratories, Inc. */
/* The copyright notice above does not evidence any */
/* actual or intended publication of such source code. */
#ident "@(#)sccs:lib/mpwlib/dname.c 6.5"
# include "sys/types.h"
# include "macros.h"
/*
Returns directory name containing a file
(by modifying its argument).
Returns "." if current
directory; handles root correctly.
Returns its argument.
Bugs: doesn't handle null strings correctly.
*/
char *dname(p)
char *p;
{
register char *c;
register int s;
unsigned strlen();
s = size(p);
for(c = p+s-2; c > p; c--)
if(*c == '/') {
*c = '\0';
return(p);
}
if (p[0] != '/')
p[0] = '.';
p[1] = 0;
return(p);
}