Subversion Repositories planix.SVN

Rev

Rev 2 | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
2 - 1
#include <stdlib.h>
2
#include <string.h>
3
#include <stdio.h>
4
 
5
main(int argc, char **argv)
6
{
7
	char *f, *s;
8
	int n;
9
 
10
	if(argc != 2){
11
		fprintf(stderr, "Usage: dirname string\n");
12
		exit(1);
13
	}
14
	s = argv[1];
15
	f = s + strlen(s) - 1;
16
	while(f > s && *f == '/')
17
		f--;
18
	*++f = 0;
19
	/* now f is after last char of string, trailing slashes removed */
20
 
21
	for(; f >= s; f--)
22
		if(*f == '/'){
23
			f++;
24
			break;
25
		}
26
	if(f < s) {
27
		*s = '.';
28
		s[1] = 0;
29
	} else {
30
		--f;
31
		while(f > s && *f == '/')
32
			f--;
33
		f[1] = 0;
34
	}
35
 
36
	printf("%s\n", s);
37
	return 0;
38
}