cleanups
[util-vserver.git] / util-vserver / src / vps.c
index a02b09f..ead995d 100644 (file)
 #endif
 
 #include "util.h"
-#include "wrappers.h"
-#include "wrappers-vserver.h"
 #include "pathconfig.h"
 
 #include <lib/vserver.h>
 #include <lib/fmt.h>
 #include <assert.h>
+#include <fcntl.h>
+
+#define ENSC_WRAPPERS_VSERVER  1
+#define ENSC_WRAPPERS_STDLIB   1
+#define ENSC_WRAPPERS_UNISTD   1
+#define ENSC_WRAPPERS_FCNTL    1
+#include <wrappers.h>
 
 #define CTXNR_WIDTH    5
 #define HUNK_SIZE      0x4000
@@ -96,7 +101,7 @@ extractCtx(char *pid_str)
   while (*pid_str==' ') ++pid_str;
   pid = atoi(pid_str);
 
-  return vc_X_getctx(pid);
+  return vc_get_task_xid(pid);
 }
 
 static char const *
@@ -197,6 +202,7 @@ processOutput(char *data, size_t len)
     write(1, data, pid_end);
     l = writeContextInfo(ctx, vserver_name);
     if (l<CONTEXT_WIDTH) write(1, CONTEXT_PLACE, CONTEXT_WIDTH-l);
+    else                 write(1, " ", 1);
     write(1, data+pid_end, eol_pos-(data+pid_end));
     write(1, "\n", 1);
     
@@ -211,14 +217,17 @@ int main(int argc, char *argv[])
   pid_t                pid;
   char *       data;
   size_t       len;
+  char const * errptr;
 
   if (argc>1) {
     if (strcmp(argv[1], "--help")   ==0) showHelp(1, argv[0], 0);
     if (strcmp(argv[1], "--version")==0) showVersion();
   }
-    
-  if (vc_X_getctx(0)!=1)
-    Evc_new_s_context(1, vc_get_securecaps(), 0);
+
+  if (!switchToWatchXid(&errptr)) {
+    perror(errptr);
+    exit(wrapper_exit_code);
+  }
 
   Epipe(p);
   pid = Efork();