git://git.onelab.eu
/
util-vserver-pl.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
clean up to produce less warnings
[util-vserver-pl.git]
/
src
/
planetlab.c
diff --git
a/src/planetlab.c
b/src/planetlab.c
index
90ba4dd
..
d3669e3
100644
(file)
--- a/
src/planetlab.c
+++ b/
src/planetlab.c
@@
-43,6
+43,7
@@
POSSIBILITY OF SUCH DAMAGE.
#include <unistd.h>
#include <ctype.h>
#include <sys/resource.h>
#include <unistd.h>
#include <ctype.h>
#include <sys/resource.h>
+#include <sys/types.h>
#include <fcntl.h>
#define _GNU_SOURCE
#include <sched.h>
#include <fcntl.h>
#define _GNU_SOURCE
#include <sched.h>
@@
-50,6
+51,9
@@
POSSIBILITY OF SUCH DAMAGE.
#include "vserver.h"
#include "planetlab.h"
#include "vserver.h"
#include "planetlab.h"
+/* defined in netns.c */
+extern uint32_t get_space_flag(xid_t);
+
#ifndef VC_NXC_RAW_SOCKET
# define VC_NXC_RAW_SOCKET 0x00000200ull
#endif
#ifndef VC_NXC_RAW_SOCKET
# define VC_NXC_RAW_SOCKET 0x00000200ull
#endif
@@
-89,8
+93,6
@@
tag:
if (vc_tag_create(ctx) == VC_NOCTX)
return -1;
if (vc_tag_create(ctx) == VC_NOCTX)
return -1;
-process:
-
/*
* Create context info - this sets the STATE_SETUP and STATE_INIT flags.
*/
/*
* Create context info - this sets the STATE_SETUP and STATE_INIT flags.
*/
@@
-356,8
+358,13
@@
pl_get_limits(const char *context, struct sliver_resources *slr)
buf[len-1]='\0';
len --;
}
buf[len-1]='\0';
len --;
}
- if ( (r->type == TYPE_LONG) && isdigit(*buf)) {
- *r->limit = atoi(buf);
+ if (r->type == TYPE_LONG) {
+ int val;
+ char *res=0;
+ errno=0;
+ val = strtol(buf,&res,0);
+ if ( !( (val==0 && res) || (errno!=0) ) )
+ *r->limit = val;
} else if ( (r->type == TYPE_PERS) && isalpha(*buf)) {
unsigned long int res;
res = vc_str2personalitytype(buf,len);
} else if ( (r->type == TYPE_PERS) && isalpha(*buf)) {
unsigned long int res;
res = vc_str2personalitytype(buf,len);
@@
-370,7
+377,7
@@
pl_get_limits(const char *context, struct sliver_resources *slr)
fclose(fb);
}
fclose(fb);
}
- fchdir(cwd);
+
(void)
fchdir(cwd);
out_fd:
close(cwd);
out:
out_fd:
close(cwd);
out: