1 /***********************************************************************
3 * This software is part of the ast package *
4 * Copyright (c) 1985-2010 AT&T Intellectual Property *
5 * and is licensed under the *
6 * Common Public License, Version 1.0 *
7 * by AT&T Intellectual Property *
9 * A copy of the License is available at *
10 * http://www.opensource.org/licenses/cpl1.0.txt *
11 * (with md5 checksum 059e8cd6165cb4c31e351f2b69388fd9) *
13 * Information and Software Systems Research *
17 * Glenn Fowler <gsf@research.att.com> *
18 * David Korn <dgk@research.att.com> *
19 * Phong Vo <kpv@research.att.com> *
21 ***********************************************************************/
24 * dirname(3) implementation
29 #if defined(__EXPORT__)
30 #define extern __EXPORT__
33 extern char *dirname(register char *pathname
)
36 /* go to end of path */
37 for(last
=pathname
; *last
; last
++);
38 /* back over trailing '/' */
39 while(last
>pathname
&& *--last
=='/');
40 /* back over non-slash chars */
41 for(;last
>pathname
&& *last
!='/';last
--);
53 /* back over trailing '/' */
54 for(;*last
=='/' && last
> pathname
; last
--);
56 if(last
==pathname
&& *pathname
=='/' && pathname
[1]=='/')