summaryrefslogtreecommitdiff
path: root/sys/src/cmd/aquarela/smbpath.c
blob: 0c5f17b9c42234c8fe81a097618fea76f0ddaf1a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include "headers.h"

void
smbpathsplit(char *path, char **dirp, char **namep)
{
	char *dir;
	char *p = strrchr(path, '/');
	if (p == nil) {
		*dirp = smbestrdup("/");
		*namep = smbestrdup(path);
		return;
	}
	if (p == path)
		dir = smbestrdup("/");
	else {
		dir = smbemalloc(p - path + 1);
		memcpy(dir, path, p - path);
		dir[p - path] = 0;
	}
	*dirp = dir;
	*namep = smbestrdup(p + 1);
}