post-history-handler-deprecation documentation update
[uzbl-mobile] / uzblctrl.c
index c8644c5..2547bc7 100644 (file)
@@ -2,17 +2,9 @@
 /* Socket code more or less completely copied from here: http://www.ecst.csuchico.edu/~beej/guide/ipc/usock.html */
 
 #include <gtk/gtk.h>
-#include <gdk/gdkx.h>
-#include <gdk/gdkkeysyms.h>
-#include <webkit/webkit.h>
-#include <pthread.h>
 #include <stdio.h>
-#include <string.h>
-#include <sys/stat.h>
-#include <sys/types.h>
 #include <unistd.h>
 #include <stdlib.h>
-#include <errno.h>
 #include <string.h>
 #include <sys/types.h>
 #include <sys/socket.h>
@@ -40,28 +32,36 @@ main(int argc, char* argv[]) {
     if (sockpath && command) {
         int s, len;
         struct sockaddr_un remote;
-        
+        char tmp;
+
         if ((s = socket (AF_UNIX, SOCK_STREAM, 0)) == -1) {
             perror ("socket");
-            exit (1);
+            exit (EXIT_FAILURE);
         }
-        
+
         remote.sun_family = AF_UNIX;
         strcpy (remote.sun_path, (char *) sockpath);
         len = strlen (remote.sun_path) + sizeof (remote.sun_family);
-        
+
         if (connect (s, (struct sockaddr *) &remote, len) == -1) {
             perror ("connect");
-            exit (1);
+            exit (EXIT_FAILURE);
         }
-        
-        if (send (s, command, strlen (command), 0) == -1) {
+
+        if ((send (s, command, strlen (command), 0) == -1) ||
+            (send (s, "\n", 1, 0) == -1)) {
             perror ("send");
-            exit (1);
+            exit (EXIT_FAILURE);
+        }
+
+        while ((len = recv (s, &tmp, 1, 0))) {
+            putchar(tmp);
+            if (tmp == '\n')
+                break;
         }
-        
+
         close(s);
-        
+
         return 0;
     } else {
         fprintf(stderr, "Usage: uzblctrl -s /path/to/socket -c \"command\"");