Commit 78f97d4c by Serge Hallyn

lxc_user_nic: only exit from main and usage

Everywhere else return an error code instead. Signed-off-by: 's avatarSerge Hallyn <serge.hallyn@ubuntu.com> Acked-by: 's avatarStéphane Graber <stgraber@ubuntu.com>
parent d56e2236
...@@ -115,7 +115,7 @@ int open_and_lock(char *path) ...@@ -115,7 +115,7 @@ int open_and_lock(char *path)
lk.l_len = 0; lk.l_len = 0;
if (fcntl(fd, F_SETLKW, &lk) < 0) { if (fcntl(fd, F_SETLKW, &lk) < 0) {
perror("fcntl lock"); perror("fcntl lock");
exit(1); return -1;
} }
return fd; return fd;
...@@ -220,17 +220,17 @@ next: ...@@ -220,17 +220,17 @@ next:
bool nic_exists(char *nic) bool nic_exists(char *nic)
{ {
char path[200]; char path[MAXPATHLEN];
int ret; int ret;
struct stat sb; struct stat sb;
#if ISTEST #if ISTEST
ret = snprintf(path, 200, "/tmp/lxcnettest/%s", nic); ret = snprintf(path, MAXPATHLEN, "/tmp/lxcnettest/%s", nic);
#else #else
ret = snprintf(path, 200, "/sys/class/net/%s", nic); ret = snprintf(path, MAXPATHLEN, "/sys/class/net/%s", nic);
#endif #endif
if (ret < 0 || ret >= 200) if (ret < 0 || ret >= MAXPATHLEN) // should never happen!
exit(1); return true;
ret = stat(path, &sb); ret = stat(path, &sb);
if (ret != 0) if (ret != 0)
return false; return false;
...@@ -436,14 +436,14 @@ static int instanciate_veth(char *n1, char **n2) ...@@ -436,14 +436,14 @@ static int instanciate_veth(char *n1, char **n2)
err = snprintf(*n2, IFNAMSIZ, "%sp", n1); err = snprintf(*n2, IFNAMSIZ, "%sp", n1);
if (err < 0 || err >= IFNAMSIZ) { if (err < 0 || err >= IFNAMSIZ) {
fprintf(stderr, "nic name too long\n"); fprintf(stderr, "nic name too long\n");
exit(1); return -1;
} }
err = lxc_veth_create(n1, *n2); err = lxc_veth_create(n1, *n2);
if (err) { if (err) {
fprintf(stderr, "failed to create %s-%s : %s\n", n1, *n2, fprintf(stderr, "failed to create %s-%s : %s\n", n1, *n2,
strerror(-err)); strerror(-err));
exit(1); return -1;
} }
/* changing the high byte of the mac address to 0xfe, the bridge interface /* changing the high byte of the mac address to 0xfe, the bridge interface
...@@ -551,7 +551,6 @@ bool create_nic(char *nic, char *br, int pid, char **cnic) ...@@ -551,7 +551,6 @@ bool create_nic(char *nic, char *br, int pid, char **cnic)
close(fd); close(fd);
return true; return true;
#else #else
// not yet implemented
char *veth1buf, *veth2buf; char *veth1buf, *veth2buf;
veth1buf = alloca(IFNAMSIZ); veth1buf = alloca(IFNAMSIZ);
veth2buf = alloca(IFNAMSIZ); veth2buf = alloca(IFNAMSIZ);
...@@ -560,7 +559,7 @@ bool create_nic(char *nic, char *br, int pid, char **cnic) ...@@ -560,7 +559,7 @@ bool create_nic(char *nic, char *br, int pid, char **cnic)
ret = snprintf(veth1buf, IFNAMSIZ, "%s", nic); ret = snprintf(veth1buf, IFNAMSIZ, "%s", nic);
if (ret < 0 || ret >= IFNAMSIZ) { if (ret < 0 || ret >= IFNAMSIZ) {
fprintf(stderr, "host nic name too long\n"); fprintf(stderr, "host nic name too long\n");
exit(1); return false;
} }
/* create the nics */ /* create the nics */
...@@ -586,7 +585,7 @@ bool create_nic(char *nic, char *br, int pid, char **cnic) ...@@ -586,7 +585,7 @@ bool create_nic(char *nic, char *br, int pid, char **cnic)
out_del: out_del:
lxc_netdev_delete_by_name(veth1buf); lxc_netdev_delete_by_name(veth1buf);
exit(1); return false;
#endif #endif
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment