]> git.cworth.org Git - ttt/commitdiff
2005-12-09 Bryan Worth <bryan@theworths.org>
authorBryan Worth <bryan@theworths.org>
Fri, 9 Dec 2005 16:43:53 +0000 (16:43 +0000)
committerBryan Worth <bryan@theworths.org>
Fri, 9 Dec 2005 16:43:53 +0000 (16:43 +0000)
        * src/ttt-curses-client.c: added error checking to ttt_create_client
        call. Added ability to escape server commands by prepending with /.
        Added ability so override port number with port=xxxx entry in
        ~/.ttt/client.conf.

ChangeLog
src/ttt-curses-client.c

index 7fb5319b78584b5f81daf6a906640470f5ba73f1..30093c47409f2b8c5e3e75cf76148e729708d886 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2005-12-09  Bryan Worth  <bryan@theworths.org>
+       * src/ttt-curses-client.c: added error checking to ttt_create_client
+       call. Added ability to escape server commands by prepending with "/".
+       Added ability so override port number with port=xxxx entry in
+       ~/.ttt/client.conf.
+
 2005-12-08  Carl Worth  <cworth@cworth.org>
 
        * src/ttt-server.c (main): When detached dup stdout to stderr so
index 75f64187685627831d369b78653126b75552a81c..25d724acf428a8680b9ad0af55629474ced6a076 100644 (file)
@@ -120,7 +120,7 @@ main (int argc, char **argv)
     int _socket;
     char buffer[BUFSIZ];
     char inplin[1024];
-
+    ttt_status_t status;
 
     static WINDOW *mainwnd;
     static WINDOW *dispwin;
@@ -140,7 +140,7 @@ main (int argc, char **argv)
     refresh ();
     dispwin = newwin (dlines - 5, cols - 2, 0, 0);
     statwin = newwin (4, cols - 2, dlines -3, 0);
-    inpwin = newwin (1, cols - 2, dlines, 0);
+    inpwin = newwin (2, cols - 2, dlines, 0);
     keypad (mainwnd, TRUE);    // enable keyboard mapping 
     keypad (inpwin, TRUE);     // enable keyboard mapping 
     nodelay (inpwin, TRUE);
@@ -177,12 +177,6 @@ main (int argc, char **argv)
     wrefresh (dispwin);
     wrefresh (inpwin);
 
-
-    ttt_socket_create_client (host, port, &_socket);
-    sockin=fdopen(_socket,"r");
-    sockout=fdopen(_socket,"w");
-
-
     xasprintf(&confpath,"%s/.ttt/",getenv("HOME"));
     xasprintf(&conffile,"%s/.ttt/client.conf",getenv("HOME"));
     username="user";
@@ -200,17 +194,30 @@ main (int argc, char **argv)
     }
     if ((conf_file = fopen(conffile,"r")) != NULL) {
         while (fgets(buffer,BUFSIZ,conf_file)) {
+           if (buffer[strlen(buffer)-1] == 10) buffer[strlen(buffer)-1] = '\0';
            if (strncmp(buffer,"username=",9) == 0) {
                xasprintf (&username, "%s", &buffer[9]);
-               break;
+           }
+           if (strncmp(buffer,"port=",5) == 0) {
+               xasprintf (&port, "%s",&buffer[5]);
            }
        }
     fclose(conf_file); 
     }
+    status=ttt_socket_create_client (host, port, &_socket);
+    if (status) {
+       endwin();
+       printf("Unable to connect to server! Connection status: %d\n",status);
+       exit(1);
+    }
+    sockin=fdopen(_socket,"r");
+    sockout=fdopen(_socket,"w");
+
+
 
     fprintf(sockout, "HELO %s\r\n",username);
     fflush(sockout);
-
+    
     if (fgets(buffer,BUFSIZ,sockin)) {
        if ((strncmp(buffer,"NOTICE MESSAGE ",15) == 0) && (strlen(buffer) > 15)) {
                wprint (dispwin, buffer);
@@ -221,6 +228,10 @@ main (int argc, char **argv)
        wrefresh (dispwin);
        wrefresh (statwin);
     }
+    
+    fprintf(sockout, "WHO \r\n");
+    fflush(sockout);
+    
     inplin[0]='\0';
     while (1) {
        curs_set (1);
@@ -270,7 +281,12 @@ main (int argc, char **argv)
        }
        if (((int) c == 13) || ((int) c == 10)) {
            curs_set (0);
-           fprintf(sockout,"MESSAGE \"%s\"\r\n",inplin);
+           if (inplin[0] == '/') {
+               fprintf(sockout,"%s\r\n",&inplin[1]);
+           }
+           else {
+               fprintf(sockout,"MESSAGE \"%s\"\r\n",inplin);
+           }
            fflush(sockout);
            inplin[0] = '\0';
            if (fgets(buffer,BUFSIZ,sockin)) {