chiark / gitweb /
New environment variable TRIPESOCK.
[tripe] / client / tripectl.c
index 7386b30..5bdc502 100644 (file)
@@ -163,6 +163,7 @@ static void cline(char *p, size_t len, void *b)
   } else if (strcmp(q, "INFO") == 0) {
     checkfg();
     puts(p);
+    fflush(stdout);
   } else if (strcmp(q, "OK") == 0) {
     checkfg();
     exit(0);
@@ -176,6 +177,7 @@ static void cline(char *p, size_t len, void *b)
   } else if (strcmp(q, "BGINFO") == 0) {
     checkbg(&p);
     puts(p);
+    fflush(stdout);
   } else if (strcmp(q, "BGFAIL") == 0) {
     checkbg(&p);
     die(EXIT_FAILURE, "%s", p);
@@ -191,6 +193,7 @@ static void sline(char *p, size_t len, void *b)
     exit(0);
   }
   puts(p);
+  fflush(stdout);
 }
 
 static void uline(char *p, size_t len, void *b)
@@ -340,6 +343,8 @@ int main(int argc, char *argv[])
 
   if ((p = getenv("TRIPEDIR")) != 0)
     dir = p;
+  if ((p = getenv("TRIPESOCK")) != 0)
+    sock = p;
 
   /* --- Parse the arguments --- */
 
@@ -532,11 +537,8 @@ int main(int argc, char *argv[])
   if (optind < argc) {
     dstr d = DSTR_INIT;
     setup((f & f_warn) ? "WATCH -A+w" : "WATCH -A");
-    dstr_puts(&d, argv[optind++]);
-    while (optind < argc) {
-      dstr_putc(&d, ' ');
-      dstr_puts(&d, argv[optind++]);
-    }
+    while (optind < argc)
+      u_quotify(&d, argv[optind++]);
     dstr_putc(&d, '\n');
     errno = EIO;
     if (write(fd, d.buf, d.len) != d.len || shutdown(fd, 1))