]> git.cworth.org Git - ttt/blobdiff - src/ttt-curses-client.c
2005-12-09 Bryan Worth <bryan@theworths.org>
[ttt] / src / ttt-curses-client.c
index 75f64187685627831d369b78653126b75552a81c..25d724acf428a8680b9ad0af55629474ced6a076 100644 (file)
@@ -120,7 +120,7 @@ main (int argc, char **argv)
     int _socket;
     char buffer[BUFSIZ];
     char inplin[1024];
     int _socket;
     char buffer[BUFSIZ];
     char inplin[1024];
-
+    ttt_status_t status;
 
     static WINDOW *mainwnd;
     static WINDOW *dispwin;
 
     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);
     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);
     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);
 
     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";
     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 ((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]);
            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); 
     }
            }
        }
     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);
 
     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);
     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);
     }
        wrefresh (dispwin);
        wrefresh (statwin);
     }
+    
+    fprintf(sockout, "WHO \r\n");
+    fflush(sockout);
+    
     inplin[0]='\0';
     while (1) {
        curs_set (1);
     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);
        }
        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)) {
            fflush(sockout);
            inplin[0] = '\0';
            if (fgets(buffer,BUFSIZ,sockin)) {