+2005-11-28 kevin worth <kevin@theworths.org>
+
+ * src/ttt-board.c:
+ * src/ttt-board.h: Moved struct def from ttt-board.h into
+ ttt-board.c to make it private
+
+ * src/ttt-lex.h:
+ Autogenerated
+
+2005-11-28 Carl Worth <cworth@cworth.org>
+
+ * TODO: Add instructions on using the first letter of our names to
+ indicate we are working on something.
+
+2005-11-25 Bryan Worth <bryan@theworths.org>
+ * ttt-client.c, ttt-server.c, ttt-error.c changed line breaks to
+ <crlf> (\r\n) for network compatibility
+
+2005-11-25 Bryan Worth <bryan@theworths.org>
+ * TODO: checked off NOTICE USER and NOTICE QUIT
+ *src/ttt-client.c: (_ttt_client_execute_helo): implement NOTICE USER
+ *(_ttt_client_execute_quit): implement NOTICE QUIT
+
+2005-11-25 Bryan Worth <bryan@theworths.org>
+ * TODO: checked off MESSAGE
+
+ *src/ttt-client.c: (_ttt_client_execute_message): Implement MESSAGE
+ *(_execute_request): changed arg_required to behave as a minimum
+ instead of an absolute number to allow optional arguments such as
+ multi-word messages
+
+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
+ * TODO: Add newline before EOF
+
+ * src/ttt-client.c: (_ttt_client_execute_who):
+ * src/ttt-server.h:
+ * src/ttt-server.c: (ttt_server_who): Implement WHO.
+
+2005-11-24 Carl Worth <cworth@cworth.org>
+
+ * PROTOCOL: Document QUIT.
+
+ * src/ttt-client.c: (_ttt_client_execute_helo),
+ (_ttt_client_execute_quit), (_ttt_client_init), (_ttt_client_fini),
+ (_execute_request), (_handle_requests_thread): Implement QUIT. Add
+ client->registered flag and unregister only if registered. Change
+ from args_min and args_max to args_required.
+
+ * src/ttt-error.h:
+ * src/ttt-error.c: (ttt_error_string):
+ * src/ttt-server.c: (ttt_server_register_client): Put underscores
+ in TTT_ERRROR names for better readability.
+
+2005-11-24 Carl Worth <cworth@cworth.org>
+
+ * PROTOCOL:
+ * src/ttt-server.c: (ttt_server_init),
+ (ttt_server_register_client): Remove unique-name generation from
+ the server. The client is going to have to have code to do this
+ anyway.
+
+ * src/ttt-client.c: Change minimum arguments for HELO from 0 to 1.
+
+ * TODO: Note that HELO and ERROR INVALIDNAME are implemented in
+ the server.
+
+2005-11-23 Richard D. Worth <richard@theworths.org>
+
+ * PROTOCOL: Remove unused servername
+
+ * src/ttt-client.h: * src/ttt-client.c:
+ (_ttt_client_execute_helo), (_ttt_client_init),
+ (_ttt_client_fini), (_execute_request), (ttt_client_get_name),
+ (ttt_client_set_name): Added command descriptions structure. Match
+ command case-insensitively, dispatch to execute
+ function. Implement HELO command. Register on HELO instead of on
+ connect.
+
+ * src/ttt-server.h: * src/ttt-server.c: (ttt_server_init),
+ (ttt_server_register_client), (ttt_server_unregister_client),
+ (ttt_server_get_host), (ttt_server_get_port), (main): Added host
+ and port to server. Make client registration name-based rather
+ than id-based.
+
+ * src/x.c: (xstrdup): Return NULL on NULL
+
+ * src/ttt-lex.h: Regenerated
+
+2005-11-22 Carl Worth <cworth@cworth.org>
+
+ * TODO: Add TODO file listing all the stuff from the protocol that
+ needs to be implemented.
+
+ * src/Makefile.am:
+ * configure.in:
+ * ylwrap:
+ * src/ttt-lex.h:
+ * src/ttt-lex.l:
+ * src/ttt-token.h: Add support for a flex-based tokenizer which
+ tokenizes newlines and space-separated strings.
+
+ * src/ttt-client.c: (_ttt_client_init), (_ttt_client_fini),
+ (_append_to_request), (_free_request), (_read_request),
+ (_execute_request): Use new tokenizer to tokenize input into an
+ array of request strings.
+
+2005-11-15 Carl Worth <cworth@cworth.org>
+
+ * src/Makefile.am:
+ * src/ttt-error.h:
+ * src/ttt-error.c: (ttt_error_string): Add error values and error
+ strings from protocol.
+
+ * src/ttt.h: Add typedefs for ttt_client_t and ttt_server_t so
+ that there's no problem with ttt-client.h and ttt-server.h needing
+ to mutually include each other.
+
+ * src/ttt-server.h:
+ * src/ttt-server.c: (ttt_server_register_client),
+ (ttt_server_unregister_client), (_ttt_server_accept), (main): Push
+ the client request handling thread back down into ttt-client.c
+ where it really does belong. The server code no longer ever
+ reaches down inside the ttt_client_t structure. Export
+ ttt_server_register_client and ttt_server_unregister_client. Add
+ documentation for ttt_server_broadcast. Document locking semantics
+ for all functions which acquire the server lock.
+
+ * src/ttt-client.h:
+ * src/ttt-client.c: (_ttt_client_create), (_ttt_client_destroy),
+ (_read_into_request_until), (_read_request), (_execute_request),
+ (_handle_requests_thread), (ttt_client_new), (ttt_client_get_id):
+ Pull the ttt_client structure definition back down inside the
+ ttt-client.c file. Don't export ttt_client_create and
+ ttt_client_destroy anymore, but instead just use static
+ _ttt_client_init and _ttt_client_fini. Implement the broadcast by
+ just passing a client pointer around and using client->request
+ rather than passing char *request all over. Document new
+ ttt_client_new and remove ttt_client_read_line. Add locking to
+ ttt_client_send and document it. Add ttt_client_get_id.
+
2005-11-14 Carl Worth <cworth@cworth.org>
Server now acts as a very simple chat server.