fixed do-display-dir behavior
[util-vserver.git] / util-vserver / src / util.h
index 4160259..85ed76b 100644 (file)
 #  define const_cast(X)         const_cast<X>
 #endif
 
+#define DIM_OF(X)              (sizeof(X)/sizeof((X)[0]))
+
+inline static void *
+Xmemcpy(void * restrict dst, void const * restrict src, size_t len)
+{
+  memcpy(dst, src, len);
+  return (char *)(dst)+len;
+}
 
 inline static void UNUSED
 writeStr(int fd, char const *cmd)
@@ -52,7 +60,17 @@ writeStr(int fd, char const *cmd)
   (void)write(fd, cmd, strlen(cmd));
 }
 
+struct stat;
+int    safeChdir(char const *, struct stat const *exp_stat) NONNULL((1,2));
+
+void   exitLikeProcess(int pid);
+
 #define WRITE_MSG(FD,X)                (void)(write(FD,X,sizeof(X)-1))
 #define WRITE_STR(FD,X)                writeStr(FD,X)
 
+#define VSERVER_DECLARE_CMD(CMD)     \
+  char         buf[strlen(CMD)+1];  \
+  memcpy(buf, (CMD), strlen(CMD)+1); \
+  CMD = basename(buf);
+
 #endif //  H_UTIL_VSERVER_SRC_UTIL_H