Make flags be unsigned. Improve the write algorithm: recurse until the
[u/mdw/catacomb] / pixie.c
diff --git a/pixie.c b/pixie.c
index 300a2f7..ecbab8f 100644 (file)
--- a/pixie.c
+++ b/pixie.c
@@ -1,6 +1,6 @@
 /* -*-c-*-
  *
- * $Id: pixie.c,v 1.6 2000/10/08 12:06:46 mdw Exp $
+ * $Id: pixie.c,v 1.8 2001/01/25 22:19:31 mdw Exp $
  *
  * Passphrase pixie for Catacomb
  *
 /*----- Revision history --------------------------------------------------* 
  *
  * $Log: pixie.c,v $
+ * Revision 1.8  2001/01/25 22:19:31  mdw
+ * Make flags be unsigned.
+ *
+ * Revision 1.7  2000/12/06 20:33:27  mdw
+ * Make flags be macros rather than enumerations, to ensure that they're
+ * unsigned.
+ *
  * Revision 1.6  2000/10/08 12:06:46  mdw
  * Change size passed to socket function to be a @size_t@.  Insert missing
  * type name for flag declaration.
@@ -128,10 +135,8 @@ static const char *command = 0;
 static lmem lm;
 static unsigned flags = 0;
 
-enum {
-  F_SYSLOG = 1,
-  F_FETCH = 2
-};
+#define F_SYSLOG 1u
+#define F_FETCH 2u
 
 /*----- Event logging -----------------------------------------------------*/
 
@@ -601,7 +606,7 @@ typedef struct pixserv {
   unsigned f;
 } pixserv;
 
-enum { px_stdin = 1 };
+#define px_stdin 1u
 
 #define PIXSERV_TIMEOUT 30
 
@@ -1066,7 +1071,9 @@ static void pix_setup(struct sockaddr_un *sun, size_t sz)
 
 static selbuf c_server, c_client;
 static unsigned c_flags = 0;
-enum { cf_uclose = 1, cf_sclose = 2 };
+
+#define cf_uclose 1u
+#define cf_sclose 2u
 
 /* --- Line handler functions --- */
 
@@ -1228,13 +1235,11 @@ int main(int argc, char *argv[])
   size_t sz;
   unsigned f = 0;
 
-  enum {
-    f_bogus = 1,
-    f_client = 2,
-    f_stdin = 4,
-    f_daemon = 8,
-    f_syslog = 16
-  };
+#define f_bogus 1u
+#define f_client 2u
+#define f_stdin 4u
+#define f_daemon 8u
+#define f_syslog 16u
 
   /* --- Initialize libraries --- */