Warning: Attempt to read property "date" on null in /usr/local/www/websvn.planix.org/blame.php on line 247

Warning: Attempt to read property "msg" on null in /usr/local/www/websvn.planix.org/blame.php on line 247
WebSVN – planix.SVN – Blame – /os/branches/feature_unix/sys/src/libc/port/netmkaddr.c – Rev 2

Subversion Repositories planix.SVN

Rev

Go to most recent revision | Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
2 - 1
#include <u.h>
2
#include <libc.h>
3
#include <ctype.h>
4
 
5
/*
6
 *  make an address, add the defaults
7
 */
8
char *
9
netmkaddr(char *linear, char *defnet, char *defsrv)
10
{
11
	static char addr[256];
12
	char *cp;
13
 
14
	/*
15
	 *  dump network name
16
	 */
17
	cp = strchr(linear, '!');
18
	if(cp == 0){
19
		if(defnet==0){
20
			if(defsrv)
21
				snprint(addr, sizeof(addr), "net!%s!%s",
22
					linear, defsrv);
23
			else
24
				snprint(addr, sizeof(addr), "net!%s", linear);
25
		}
26
		else {
27
			if(defsrv)
28
				snprint(addr, sizeof(addr), "%s!%s!%s", defnet,
29
					linear, defsrv);
30
			else
31
				snprint(addr, sizeof(addr), "%s!%s", defnet,
32
					linear);
33
		}
34
		return addr;
35
	}
36
 
37
	/*
38
	 *  if there is already a service, use it
39
	 */
40
	cp = strchr(cp+1, '!');
41
	if(cp)
42
		return linear;
43
 
44
	/*
45
	 *  add default service
46
	 */
47
	if(defsrv == 0)
48
		return linear;
49
	snprint(addr, sizeof(addr), "%s!%s", linear, defsrv);
50
 
51
	return addr;
52
}