]> git.cworth.org Git - ttt/commitdiff
* TODO: checked off WHO, QUIT, ERROR SYNTAX
authorRichard Worth <richard@theworths.org>
Fri, 25 Nov 2005 14:33:10 +0000 (14:33 +0000)
committerRichard Worth <richard@theworths.org>
Fri, 25 Nov 2005 14:33:10 +0000 (14:33 +0000)
        * src/ttt-client.c: (_ttt_client_execute_helo), (_ttt_client_init),
        (ttt_client_get_num_wins):
        * src/ttt-client.h:
        * src/ttt-server.c: (ttt_server_who): Whitespace changes. Add
        missing player win count for WHO.

ChangeLog
TODO
src/ttt-client.c
src/ttt-client.h
src/ttt-server.c

index a545b6451904a14880e8dab6627c6148527c6677..df44897953e563538ef1fdeeec4b2012a8ac724a 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,13 @@
+2005-11-25  Richard D. Worth  <richard@theworths.org>
+
+       * TODO: checked off WHO, QUIT, ERROR SYNTAX
+
+       * src/ttt-client.c: (_ttt_client_execute_helo), (_ttt_client_init),
+       (ttt_client_get_num_wins):
+       * src/ttt-client.h:
+       * src/ttt-server.c: (ttt_server_who): Whitespace changes. Add
+       missing player win count for WHO.
+
 2005-11-24  Richard D. Worth  <richard@theworths.org>
 
        * AUTHORS: Add Richard D. Worth
 2005-11-24  Richard D. Worth  <richard@theworths.org>
 
        * AUTHORS: Add Richard D. Worth
diff --git a/TODO b/TODO
index 79d35fbc0a8a9a1eddca801ba9f077370975b2bd..0e94c69ece02171d158e5fd70d4b1af86d2e8522 100644 (file)
--- a/TODO
+++ b/TODO
@@ -4,10 +4,10 @@ S C
     1. Requests
 ✓   1.1 HELO
     1.2. Global commands
     1. Requests
 ✓   1.1 HELO
     1.2. Global commands
-    1.2.1. WHO
+   1.2.1. WHO
     1.2.2. MESSAGE
     1.2.3. HELP
     1.2.2. MESSAGE
     1.2.3. HELP
-    1.2.4. QUIT
+   1.2.4. QUIT
     1.2.5. VERSION
     1.3. Game management commands
     1.3.1. INVITE
     1.2.5. VERSION
     1.3. Game management commands
     1.3.1. INVITE
@@ -35,7 +35,7 @@ S C
 ✓   3.1.2. ERROR INVALIDNAME
     3.2. Command format errors
     3.2.1. ERROR COMMAND
 ✓   3.1.2. ERROR INVALIDNAME
     3.2. Command format errors
     3.2.1. ERROR COMMAND
-    3.2.2. ERROR SYNTAX
+   3.2.2. ERROR SYNTAX
     3.2.3. ERROR NOTNUMBER
     3.2.4. ERROR NOTGRID
     3.3. Global command errors.
     3.2.3. ERROR NOTNUMBER
     3.2.4. ERROR NOTGRID
     3.3. Global command errors.
index 9c9b819f8c1a3dfeebcbe5c693e58811bca45c9b..24738649e2f52990dd3631e48e1eee9183c28d40 100644 (file)
 
 struct _ttt_client {
     pthread_mutex_t mutex;
 
 struct _ttt_client {
     pthread_mutex_t mutex;
-    pthread_t thread;
+    pthread_t       thread;
 
 
-    ttt_server_t *server;
-    int socket;
-    yyscan_t scanner;
+    ttt_server_t    *server;
+    int             socket;
+    yyscan_t        scanner;
 
 
-    char *name;
-    ttt_bool_t registered;
+    char            **request_strings;
+    int             num_request_strings;
 
 
-    char **request_strings;
-    int num_request_strings;
+    char            *name;
+    ttt_bool_t      registered;
+    int             num_wins;
 };
 
 typedef ttt_error_t (*ttt_command_func_t) (ttt_client_t *client,
 };
 
 typedef ttt_error_t (*ttt_command_func_t) (ttt_client_t *client,
@@ -62,14 +63,14 @@ _ttt_client_execute_quit (ttt_client_t *client,
                          int          num_args);
 
 typedef struct _ttt_command_description {
                          int          num_args);
 
 typedef struct _ttt_command_description {
-    const char *command;
-    int args_required;
+    const char         *command;
+    int                args_required;
     ttt_command_func_t execute;
 } ttt_command_description_t;
 
 ttt_command_description_t command_descriptions[] = {
     {"HELO", 1, _ttt_client_execute_helo},
     ttt_command_func_t execute;
 } ttt_command_description_t;
 
 ttt_command_description_t command_descriptions[] = {
     {"HELO", 1, _ttt_client_execute_helo},
-    {"WHO", 0, _ttt_client_execute_who},
+    {"WHO",  0, _ttt_client_execute_who },
     {"QUIT", 0, _ttt_client_execute_quit}
 };
 #define ARRAY_SIZE(arr) (sizeof(arr)/sizeof(arr[0]))
     {"QUIT", 0, _ttt_client_execute_quit}
 };
 #define ARRAY_SIZE(arr) (sizeof(arr)/sizeof(arr[0]))
@@ -92,7 +93,8 @@ _ttt_client_execute_helo (ttt_client_t *client,
 
     client->registered = TRUE;
 
 
     client->registered = TRUE;
 
-    xasprintf (&response, "HELO %s %s %s\n", client->name,
+    xasprintf (&response, "HELO %s %s %s\n",
+              client->name,
               ttt_server_get_host (client->server),
               ttt_server_get_port (client->server));
 
               ttt_server_get_host (client->server),
               ttt_server_get_port (client->server));
 
@@ -155,6 +157,7 @@ _ttt_client_init (ttt_client_t      *client,
 
     client->name = NULL;
     client->registered = FALSE;
 
     client->name = NULL;
     client->registered = FALSE;
+    client->num_wins = 0;
 }
 
 static void
 }
 
 static void
@@ -329,3 +332,10 @@ ttt_client_set_name (ttt_client_t *client, const char *name)
     free (client->name);
     client->name = xstrdup (name);
 }
     free (client->name);
     client->name = xstrdup (name);
 }
+
+/* Exported: See ttt-client.h for documentation. */
+int
+ttt_client_get_num_wins (ttt_client_t *client)
+{
+    return client->num_wins;
+}
index 06af64b079a1a113287a4f1038226632724b1c00..d4e33464a3658246c921e94fcf074b8744c4f673 100644 (file)
@@ -49,4 +49,8 @@ ttt_client_get_name (ttt_client_t *client);
 void
 ttt_client_set_name (ttt_client_t *client, const char *name);
 
 void
 ttt_client_set_name (ttt_client_t *client, const char *name);
 
+/* Return the client's win count */
+int
+ttt_client_get_num_wins (ttt_client_t *client);
+
 #endif /* _TTT_CLIENT_H_ */
 #endif /* _TTT_CLIENT_H_ */
index 60276d39ccf691bed7b86e90822e02d3fb90abd7..d98fc24e2891dafd8de6f34efe4fdffac3536edb 100644 (file)
@@ -146,7 +146,10 @@ ttt_server_who (ttt_server_t *server)
     xasprintf (&response, "WHO");
 
     for (i = 0; i < server->num_clients; i++)
     xasprintf (&response, "WHO");
 
     for (i = 0; i < server->num_clients; i++)
-       xasprintf (&response, "%s %s", response, ttt_client_get_name(server->clients[i]));
+       xasprintf (&response, "%s %s %d",
+                  response,
+                  ttt_client_get_name (server->clients[i]),
+                  ttt_client_get_num_wins (server->clients[i]));
 
     xasprintf (&response, "%s\n", response);
 
 
     xasprintf (&response, "%s\n", response);