12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152 |
- #include <u.h>
- #include <libc.h>
- #include <ctype.h>
- /*
- * make an address, add the defaults
- */
- char *
- netmkaddr(char *linear, char *defnet, char *defsrv)
- {
- static char addr[256];
- char *cp;
- /*
- * dump network name
- */
- cp = strchr(linear, '!');
- if(cp == 0){
- if(defnet==0){
- if(defsrv)
- snprint(addr, sizeof(addr), "net!%s!%s",
- linear, defsrv);
- else
- snprint(addr, sizeof(addr), "net!%s", linear);
- }
- else {
- if(defsrv)
- snprint(addr, sizeof(addr), "%s!%s!%s", defnet,
- linear, defsrv);
- else
- snprint(addr, sizeof(addr), "%s!%s", defnet,
- linear);
- }
- return addr;
- }
- /*
- * if there is already a service, use it
- */
- cp = strchr(cp+1, '!');
- if(cp)
- return linear;
- /*
- * add default service
- */
- if(defsrv == 0)
- return linear;
- snprint(addr, sizeof(addr), "%s!%s", linear, defsrv);
- return addr;
- }
|