eba582e196508837177c27f708133aeff52df892
[ttt] / ChangeLog
1 2006-01-14  Carl Worth  <cworth@cworth.org>
2
3         * Makefile.am:
4         * configure.in:
5         * kub/Makefile.am: Add kub directory to build system.
6
7         * src/ttt-board.c: (ttt_board_is_won): Fix whitespace.
8
9 2005-12-14  Carl Worth  <cworth@cworth.org>
10
11         * src/ttt-server.h: Update the documentation of these functions to
12         be more precise about what happens to client mutexes.
13
14         * src/ttt-board.c: (ttt_board_is_won): And some white space to
15         make things more readable.
16
17 2005-12-13  Bryan Worth <bryan@theworths.org>
18         * src/ttt-curses-client: Cleaned up text-entry code. Added support
19         for HOME, END, DELETE, and ARROW keys
20
21
22 2005-12-13  Carl Worth  <cworth@cworth.org>
23
24         * TODO: Note that ttt-server should retry a couple times if its
25         port is not available.
26         
27         * src/test-board.c: (main): Remove debug print messages.
28         
29         * src/ttt-board.c: (ttt_board_make_move): Tighten up the code just
30         a little bit more.
31
32 2005-12-10  Richard D. Worth  <richard@theworths.org>
33
34         * TODO: check off INVITE, RETRACT, DECLINE, Game Invitation
35         notices, Connection setup errors, NO_INVITE, User information
36         errors.
37
38         * src/ttt-client.c: (_ttt_client_execute_helo),
39         (_ttt_client_execute_statistics), (_ttt_client_execute_message),
40         (_ttt_client_execute_help), (_ttt_client_execute_version),
41         (_ttt_client_execute_quit), (_ttt_client_execute_invite),
42         (_ttt_client_execute_accept), (_ttt_client_execute_retract),
43         (_ttt_client_execute_decline), (_read_request),
44         (_execute_request),
45         (_handle_requests_thread): Whitespace changes. Use exported get
46         methods (get_username, get_num_wins). Use strcasecmp in place of
47         toupper. Finish RETRACT, DECLINE.
48
49         * src/ttt.h:
50         * src/ttt-server.h:
51         * src/ttt-server.c: (ttt_server_init),
52         (ttt_server_register_client), (ttt_server_unregister_client),
53         (ttt_server_verify_username),
54         (ttt_server_get_client_from_username), (ttt_server_add_invite),
55         (ttt_server_remove_invite): Add invite struct. Make username case
56         insensitive (missed in register_client). Implement add_invite,
57         remove_invite. Moved statistics to ttt-client.c
58
59 2005-12-09  Carl Worth  <cworth@cworth.org>
60
61         * src/ttt-server.c (ttt_server_unregister_client): Move client has
62         left message to stderr so it makes it to the log file too.
63
64 2005-12-09  Carl Worth  <cworth@cworth.org>
65
66         * src/ttt-server.c (main): Put the initial server started message
67         in the log file as well.
68
69 2005-12-09  Carl Worth  <cworth@cworth.org>
70
71         * src/ttt-args.h:
72         * src/ttt-args.c: (ttt_args_help), (ttt_args_parse): Add a -u,
73         --user option for controlling the uid under which the server
74         process runs.
75         
76         * src/ttt.h:
77         * src/ttt-server.c: (ttt_server_register_client), (main): Recert
78         the dup of stdout which wasn't working. Instead just print client
79         join information on stderr so that it goes into the log. Implement
80         support for the user option by calling setuid to drop root
81         privileges the process might start out with.
82
83 2005-12-09  Bryan Worth  <bryan@theworths.org>
84         * src/ttt-curses-client.c: added error checking to ttt_create_client
85         call. Added ability to escape server commands by prepending with "/".
86         Added ability so override port number with port=xxxx entry in
87         ~/.ttt/client.conf.
88
89 2005-12-08  Carl Worth  <cworth@cworth.org>
90
91         * src/ttt-server.c (main): When detached dup stdout to stderr so
92         that everything appears in the log file.
93
94 2005-12-08  Carl Worth  <cworth@cworth.org>
95
96         * src/ttt-args.h:
97         * src/ttt-args.c: (ttt_args_help), (ttt_args_parse): Add
98         -d,--detach and --pid-file=FILE options for running the server as
99         a daemon.
100         
101         * src/ttt-server.c: (ttt_server_statistics),
102         (ttt_server_verify_username), (_detach_and_write_child_pid_to),
103         (main): Add support for detaching and writing out the child PID to
104         a file.
105
106         * src/x.h:
107         * src/x.c: (xfopen), (xdup2): Two new x-functions.
108
109 2005-12-08  Carl Worth  <cworth@cworth.org>
110
111         * src/ttt-args.c: (ttt_args_help), (ttt_args_parse):
112         * src/ttt-args.h:
113         * src/ttt-server.c: (ttt_server_statistics),
114         (ttt_server_verify_username), (_detach_and_write_child_pid_to),
115         (main):
116         * src/x.c: (xfopen), (xdup2):
117         * src/x.h:
118
119 2005-12-08  Bryan Worth  <bryan@theworths.org>
120         * src/ttt-curses-client.c: Multiple improvements!
121         Username taken from USER environment variable and stored as
122         preference in ~/.ttt/client.conf (username=xxxxxx). Backspace
123         should now work correctly with all term types. Status messages
124         display in seperate area. "MESSAGE" reply from server is
125         suppressed. Eliminated most global variables.
126
127
128 2005-12-08  Carl Worth  <cworth@cworth.org>
129
130         * src/Makefile.am: Fix rule to auto-generate ttt-lex.h.
131
132         * src/ttt-lex.h: Remove generated file from revision control.
133
134         * src/ttt-lex.l: Add copyright/license blurb.
135
136         * src/ttt-lex.l:
137         * src/ttt-client.c: (yy_init_globals), (use_yy_init_globals):
138         Shut off some annoying compiler warnings due to flex bugs (only
139         one still remains).
140
141 2005-12-07  Richard D. Worth  <richard@theworths.org>
142
143         * PROTOCOL: Remove unused error NOT_IN_GAME. Add error
144         NOT_VALID_MOVE.
145
146         * TODO: Add error NOT_VALID_MOVE.
147         
148         * src/ttt-error.h:
149         * src/ttt-error.c: (ttt_error_string): Add section comments. Add
150         error NOT_VALID_MOVE.
151
152 2005-12-06  Bryan Worth <bryan@theworths.org>
153         * src/ttt-error.c: fixed missing errors (NO_INVITE, NO_GAME)
154
155 2005-12-06  Richard D. Worth  <richard@theworths.org>
156
157         * PROTOCOL: Add error NO_INVITE
158         
159         * TODO: Uncheck INVITE, ACCEPT
160         
161         * src/ttt-error.c: (ttt_error_string): Add errors NO_INVITE,
162         NO_GAME
163
164         * src/ttt-client.c: (_ttt_client_execute_message),
165         (_ttt_client_execute_help), (_ttt_client_execute_version),
166         (_ttt_client_execute_invite), (_ttt_client_execute_accept),
167         (_ttt_client_execute_retract), (_ttt_client_execute_decline):
168         Whitespace changes. Partially implement RETRACT, DECLINE.
169
170 2005-12-05  Richard D. Worth  <richard@theworths.org>
171
172         * PROTOCOL: Fill some missing possible error occurrences.
173
174         * TODO: Check off INVITE, ACCEPT, ERROR COMMAND, ERROR NO_USER
175         
176         * src/ttt-server.h:
177         * src/ttt-server.c: (ttt_server_verify_username):
178         * src/ttt-client.c: (_ttt_client_execute_help),
179         (_ttt_client_execute_invite), (_ttt_client_execute_accept):
180         Implement INVITE, ACCEPT
181
182 2005-12-05  Richard D. Worth  <richard@theworths.org>
183
184         * src/ttt-curses-client.c: (mvprintstr), (mvwprintstr), (wprint),
185         (main), (finish): Whitespace changes.
186
187 2005-12-04  Bryan Worth <bryan@theworths.org>
188         * src/ttt-socket.c: (ttt_socket_create_client) fixed socket to be
189         non-blocking. (ttt_socket_read) added return value for number
190         of bytes read
191         * Makefile.am: added necessary code for new curses-client program.
192         * src/ttt-curses-client: new ncurses based client
193
194 2005-12-03  Richard D. Worth  <richard@theworths.org>
195
196         * PROTOCOL: Add RETRACT, DECLINE. Add game identifier for all game
197         commands.
198         
199         * TODO: Add RETRACT, DECLINE, notices.
200
201 2005-12-03  Richard D. Worth  <richard@theworths.org>
202
203         * PROTOCOL: Add underscores to error codes. Add STATISTICS
204         command. Remove statistics from WHO.
205
206         * TODO: Add STATISTICS. Check off STATISTICS.
207         
208         * src/ttt.h: Define TTT_SERVER_PROTOCOL_VERSION for VERSION.
209
210         * src/ttt-error.c: (ttt_error_string): Add underscores to error
211         codes.
212
213         * src/ttt-client.h:
214         * src/ttt-client.c: (_ttt_client_execute_helo),
215         (_ttt_client_execute_statistics), (_ttt_client_execute_message),
216         (_ttt_client_execute_version), (_ttt_client_execute_quit),
217         (_ttt_client_init), (_ttt_client_fini), (ttt_client_get_username),
218         (ttt_client_set_username): Rename client->name to
219         client->username. Implement STATISTICS. Complete implementation of
220         VERSION.
221
222         * src/ttt-server.h:
223         * src/ttt-server.c: (ttt_server_register_client),
224         (ttt_server_unregister_client), (ttt_server_who),
225         (ttt_server_statistics): Track rename of client->name to
226         client->username. Add server helper for STATISTICS.
227
228 2005-12-02  Richard D. Worth  <richard@theworths.org>
229
230         * TODO: Check off Global commands, HELP, VERSION.
231         
232         * src/ttt-client.c: (_ttt_client_execute_message),
233         (_ttt_client_execute_help), (_execute_request): Whitespace
234         changes. Implement HELP with usage and short description.
235
236         * src/ttt-server.c: Update the server welcome message.
237
238 2005-12-01  Richard D. Worth  <richard@theworths.org>
239
240         * TODO: Check off NOTICE MESSAGE, ERROR NONAMESET.
241
242         * PROTOCOL: Add NONAMESET error in possible errors where
243         applicable. Add description for MESSAGE.
244         
245         * src/ttt-token.h: Add token typedef. Rename token type enum.
246
247         * src/ttt-lex.l: Add support for quoted string as single token.
248         * src/ttt-lex.h: Autogenerated.
249
250         * src/ttt-client.c: (_ttt_client_execute_helo),
251         (_ttt_client_execute_who), (_ttt_client_execute_message),
252         (_ttt_client_execute_help), (_ttt_client_execute_version),
253         (_ttt_client_execute_quit), (_ttt_client_init), (_read_request),
254         (_execute_request): Whitespace changes. Implement VERSION,
255         HELP. Change args_required back to args_min and args_max (see
256         PROTOCOL\HELP). Modify MESSAGE to accept one token arg and quote
257         output. Return NONAMESET error where applicable.
258
259 2005-11-29  Carl Worth  <cworth@cworth.org>
260
261         * src/ttt-socket.h:
262         * src/ttt-socket.c: (ttt_socket_create_client): New function for
263         creating a client socket.
264
265         * src/x.h:
266         * src/x.c: (xconnect): Add xconnect. Return a couple of useful
267         error status values so that callers can recover on connection
268         refused or host unreachable.
269
270         * src/ttt.h: Add TTT_STATUS_CONNECTION_REFUSED and
271         TTT_STATUS_NETWORK_UNREACHABLE.
272
273 2005-11-28  Kevin Worth  <kevin@theworths.org>
274
275         * PROTOCOL: Changed board cell numbering to start with zero
276         instead of one.
277         
278         * src/Makefile.am: 
279         * src/test-board.c: (main): Added new file for testing.
280         
281         * src/ttt-board.c: (ttt_board_init), (ttt_board_to_string):
282         * src/ttt-board.h: Implemented board_to_string.
283
284 2005-11-28  kevin worth  <kevin@theworths.org>
285
286         * src/ttt-board.c:
287         * src/ttt-board.h: Moved struct def from ttt-board.h into
288         ttt-board.c to make it private
289         
290         * src/ttt-lex.h:
291         Autogenerated
292
293 2005-11-28  Carl Worth  <cworth@cworth.org>
294
295         * TODO: Add instructions on using the first letter of our names to
296         indicate we are working on something.
297
298 2005-11-25  Bryan Worth <bryan@theworths.org>
299         * ttt-client.c, ttt-server.c, ttt-error.c changed line breaks to 
300         <crlf> (\r\n) for network compatibility
301
302 2005-11-25  Bryan Worth <bryan@theworths.org>
303         * TODO: checked off NOTICE USER and NOTICE QUIT
304         *src/ttt-client.c: (_ttt_client_execute_helo): implement NOTICE USER
305         *(_ttt_client_execute_quit): implement NOTICE QUIT
306
307 2005-11-25  Bryan Worth <bryan@theworths.org>
308         * TODO: checked off MESSAGE
309
310         *src/ttt-client.c: (_ttt_client_execute_message): Implement MESSAGE
311         *(_execute_request): changed arg_required to behave as a minimum
312         instead of an absolute number to allow optional arguments such as 
313         multi-word messages
314
315 2005-11-25  Richard D. Worth  <richard@theworths.org>
316
317         * TODO: checked off WHO, QUIT, ERROR SYNTAX
318
319         * src/ttt-client.c: (_ttt_client_execute_helo), (_ttt_client_init),
320         (ttt_client_get_num_wins):
321         * src/ttt-client.h:
322         * src/ttt-server.c: (ttt_server_who): Whitespace changes. Add
323         missing player win count for WHO.
324
325 2005-11-24  Richard D. Worth  <richard@theworths.org>
326
327         * AUTHORS: Add Richard D. Worth
328         * TODO: Add newline before EOF
329
330         * src/ttt-client.c: (_ttt_client_execute_who):
331         * src/ttt-server.h:
332         * src/ttt-server.c: (ttt_server_who): Implement WHO.
333
334 2005-11-24  Carl Worth  <cworth@cworth.org>
335
336         * PROTOCOL: Document QUIT.
337
338         * src/ttt-client.c: (_ttt_client_execute_helo),
339         (_ttt_client_execute_quit), (_ttt_client_init), (_ttt_client_fini),
340         (_execute_request), (_handle_requests_thread): Implement QUIT. Add
341         client->registered flag and unregister only if registered. Change
342         from args_min and args_max to args_required.
343
344         * src/ttt-error.h:
345         * src/ttt-error.c: (ttt_error_string):
346         * src/ttt-server.c: (ttt_server_register_client): Put underscores
347         in TTT_ERRROR names for better readability.
348
349 2005-11-24  Carl Worth  <cworth@cworth.org>
350
351         * PROTOCOL:
352         * src/ttt-server.c: (ttt_server_init),
353         (ttt_server_register_client): Remove unique-name generation from
354         the server. The client is going to have to have code to do this
355         anyway.
356
357         * src/ttt-client.c: Change minimum arguments for HELO from 0 to 1.
358
359         * TODO: Note that HELO and ERROR INVALIDNAME are implemented in
360         the server.
361
362 2005-11-23  Richard D. Worth  <richard@theworths.org>
363
364         * PROTOCOL: Remove unused servername
365
366         * src/ttt-client.h: * src/ttt-client.c:
367         (_ttt_client_execute_helo), (_ttt_client_init),
368         (_ttt_client_fini), (_execute_request), (ttt_client_get_name),
369         (ttt_client_set_name): Added command descriptions structure. Match
370         command case-insensitively, dispatch to execute
371         function. Implement HELO command. Register on HELO instead of on
372         connect.
373
374         * src/ttt-server.h: * src/ttt-server.c: (ttt_server_init),
375         (ttt_server_register_client), (ttt_server_unregister_client),
376         (ttt_server_get_host), (ttt_server_get_port), (main): Added host
377         and port to server. Make client registration name-based rather
378         than id-based.
379
380         * src/x.c: (xstrdup): Return NULL on NULL
381
382         * src/ttt-lex.h: Regenerated
383
384 2005-11-22  Carl Worth  <cworth@cworth.org>
385
386         * TODO: Add TODO file listing all the stuff from the protocol that
387         needs to be implemented.
388         
389         * src/Makefile.am:
390         * configure.in:
391         * ylwrap:
392         * src/ttt-lex.h:
393         * src/ttt-lex.l:
394         * src/ttt-token.h: Add support for a flex-based tokenizer which
395         tokenizes newlines and space-separated strings.
396
397         * src/ttt-client.c: (_ttt_client_init), (_ttt_client_fini),
398         (_append_to_request), (_free_request), (_read_request),
399         (_execute_request): Use new tokenizer to tokenize input into an
400         array of request strings.
401
402 2005-11-15  Carl Worth  <cworth@cworth.org>
403
404         * src/Makefile.am:
405         * src/ttt-error.h:
406         * src/ttt-error.c: (ttt_error_string): Add error values and error
407         strings from protocol.
408
409         * src/ttt.h: Add typedefs for ttt_client_t and ttt_server_t so
410         that there's no problem with ttt-client.h and ttt-server.h needing
411         to mutually include each other.
412
413         * src/ttt-server.h:
414         * src/ttt-server.c: (ttt_server_register_client),
415         (ttt_server_unregister_client), (_ttt_server_accept), (main): Push
416         the client request handling thread back down into ttt-client.c
417         where it really does belong. The server code no longer ever
418         reaches down inside the ttt_client_t structure. Export
419         ttt_server_register_client and ttt_server_unregister_client. Add
420         documentation for ttt_server_broadcast. Document locking semantics
421         for all functions which acquire the server lock.
422
423         * src/ttt-client.h:
424         * src/ttt-client.c: (_ttt_client_create), (_ttt_client_destroy),
425         (_read_into_request_until), (_read_request), (_execute_request),
426         (_handle_requests_thread), (ttt_client_new), (ttt_client_get_id):
427         Pull the ttt_client structure definition back down inside the
428         ttt-client.c file. Don't export ttt_client_create and
429         ttt_client_destroy anymore, but instead just use static
430         _ttt_client_init and _ttt_client_fini. Implement the broadcast by
431         just passing a client pointer around and using client->request
432         rather than passing char *request all over. Document new
433         ttt_client_new and remove ttt_client_read_line. Add locking to
434         ttt_client_send and document it. Add ttt_client_get_id.
435
436 2005-11-14  Carl Worth  <cworth@cworth.org>
437
438         Server now acts as a very simple chat server.
439
440         * src/ttt-client.h:
441         * src/ttt-client.c: (ttt_client_create), (ttt_client_destroy),
442         (_append_to_request), (ttt_client_read_into_request_until),
443         (ttt_client_read_line), (ttt_client_send): Add support to do a
444         buffering read within the client and to reuse the buffer (which
445         grows by doubling) from one request to the next. Add function to
446         send a message to a client.
447
448         * src/ttt-server.c: (ttt_server_init), (ttt_server_create_client):
449         Add support for a client idea. Resize the server's client list by
450         doubling.
451         * src/ttt-server.c: (ttt_server_destroy_client): Add support to
452         destroy a client.
453         * src/ttt-server.c: (_handle_client_requests_thread),
454         (_accept_client): Move handling of client requests up to
455         ttt-server.c from ttt-client.c. Use threads rather than a fork per
456         client.
457         * src/ttt-server.h:
458         * src/ttt-server.h: (ttt_server_broadcast): Add function to send a
459         message to all connected clients.
460
461         * src/ttt-socket.h:
462         * src/ttt-socket.c: (ttt_socket_read),
463         (ttt_socket_write): Add functions to do blocking read or write of
464         the specified number of bytes.
465
466         * src/ttt-socket.c: (ttt_socket_accept): Remove fork, so that the
467         accept function call can take care of anything like that itself.
468         
469         * src/x.h:
470         * src/x.c: (xread), (xwrite): New wrappers for read and write.
471
472         * src/ttt.h: Add TTT_STATUS_EOF, TRUE, and FALSE.
473
474         * src/ttt.c: Need to include ttt-args.h explicitly now.
475
476 2005-11-11  Carl Worth  <cworth@cworth.org>
477
478         * src/ttt-server.h:
479         * src/ttt-server.c: (ttt_server_init), (ttt_server_add_client),
480         (_accept_client), (main): Add a new ttt_server_t object with a
481         mutex-protected list of clients. Move client handling code down
482         into new ttt-client.c.
483
484         * src/ttt-client.h:
485         * src/ttt-client.c: (ttt_client_create), (ttt_client_destroy),
486         (ttt_client_handle_requests): New ttt_client_t object that simply
487         holds a pointer back to the server as well as the client socket
488         file descriptor.
489
490         * src/ttt-socket.h:
491         * src/ttt-socket.c: (ttt_socket_accept): Add closure argument. Add
492         a call to fork before calling the accept callback.
493
494         * src/ttt-args.c: Hide unused ttt_args_usage from the compiler to
495         keep it from complaining.
496
497         * src/ttt.c: (main): Rename the client main program from
498         ttt-client to ttt.c, (since the server code now has its own
499         ttt-client.c).
500
501         * src/ttt.h:
502         * src/Makefile.am: Include and link with pthread now that we have
503         pthread-based mutex locking.
504
505 2005-11-11  Carl Worth  <cworth@pippin.local>
506
507         * src/ttt-server.c: (main): Don't assign to stderr which is
508         apparently an invalid lvalue on Mac OS X.
509
510         * src/x.h:
511         * src/x.c: (xfreopen): Change return type to void.
512
513         * src/ttt-board.c: (ttt_board_to_string): Add missing return
514         statement.
515
516 2005-11-11  Carl Worth  <cworth@cworth.org>
517
518         * configure.in: Key off of src/ttt.h instead of src/ttt.c which no
519         longer exists.
520
521 2005-11-11  Carl Worth  <cworth@cworth.org>
522
523         * src/ttt.h:
524         * src/x.c:
525         * src/x.h: Move include of stdarg.h from x.c to ttt.h.
526
527 2005-11-11  Carl Worth  <cworth@cworth.org>
528
529         * src/ttt-board.h: Include ttt.h to get standard includes.
530         
531         * src/ttt-socket.c: Replace include of netinet/ip.h with
532         netinet/in.h which seems to be necessary for BSD libc, (eg. Mac OS
533         X).
534
535 2005-11-09  Carl Worth  <cworth@cworth.org>
536
537         * src/Makefile.am:
538         * src/ttt.h:
539         * src/ttt-server.c: (ttt_dispatch), (main):
540         * src/ttt-socket.h:
541         * src/ttt-socket.c: (_sockaddr_init), (_wait_for_connection),
542         (ttt_socket_create_server), (ttt_socket_accept): Push a lot of
543         code out of ttt-server.c down into a new ttt_socket abstraction
544         layer. The code is much easier to read now. The server also no
545         longer exits when the first client exits, but continues to listen
546         for more connections.
547
548 2005-11-09  Carl Worth  <cworth@cworth.org>
549
550         * src/ttt-args.h:
551         * src/ttt-args.c: (ttt_args_help), (ttt_args_parse): Add support
552         for -h,--host, -p,--port, and --log-file command-line arguments.
553         
554         * src/ttt-server.c: (main): Use host, port, and log-file
555         command-line arguments.
556
557         * src/ttt-client.c: (main): Track change in signature of
558         ttt_args_parse.
559         
560         * src/x.h:
561         * src/x.c: (xfdopen), (xfreopen): More wrappers.
562
563 2005-11-08  Carl Worth  <cworth@cworth.org>
564
565         * src/ttt.h:
566         * src/ttt-server.c: (_sockaddr_init), (_wait_for_connection),
567         (main): Add socket, bind, listen, accept calls to provide a
568         simple, functional, one-shot server demonstration.
569
570         * src/x.h:
571         * src/x.c: (xsocket), (xbind), (xlisten), (xfcntl), (xselect): Add
572         more wrapped system calls.
573
574 2005-11-07  Carl Worth  <cworth@cworth.org>
575
576         * src/ttt.h: Grab some useful definitions from wdo.h:
577         ASSERT_NOT_REACHEED and TTT_PRINTF_FORMAT. Add several needed
578         include directives.
579
580         * src/Makefile.am: Rip out not-yet existing ttt-command and
581         ttt-error.
582         
583         * src/ttt-args.c: (ttt_args_parse): Track name change from
584         args_help to ttt_args_help.
585
586         * src/ttt.c: Remove in favor of ttt-server.c and ttt-client.c.
587         
588         * src/x.h: Add prototype for xfwrite.
589
590 2005-11-05  Richard D. Worth  <richard@theworths.org>
591
592         * src/ttt-board.c: (ttt_board_init): Added for loop counter init.
593         * src/ttt-board.h: Added prototypes.
594
595 2005-11-05  Richard D. Worth  <richard@theworths.org>
596
597         * src/args.c: Renamed ttt-args.c
598         * src/args.h: Renamed ttt-args.h
599         * src/ttt-args.c: (ttt_args_help), (ttt_args_usage),
600         (ttt_args_parse): Added ttt_ prefix.
601         * src/ttt-args.h: Added ttt_, TTT_ prefix.
602
603 2005-11-05  Kevin Worth  <kevin@cworth.org>
604
605         * src/ttt-board.c: (ttt_board_init): Implemented board_init.
606         * src/ttt-board.h: (ttt_board_t): Added cells array.
607
608 2005-11-05  Carl Worth  <cworth@cworth.org>
609
610         * src/Makefile.am: Add ttt-board.[ch] and x.[ch]
611         
612         * src/ttt-board.h:
613         * src/ttt-board.c: (ttt_board_init), (ttt_board_init_from_string),
614         (ttt_board_to_string), (ttt_board_write): Add some stub functions
615         for Richard and Kevin to have some practice
616         implementing. Functions to represent a board and to go to/from a
617         string.
618         
619         * src/x.h:
620         * src/x.c: (xasprintf), (xvasprintf), (xpipe), (xfork), (xmalloc),
621         (xcalloc), (xrealloc), (xfdopen), (xstrdup), (xfwrite): Several
622         utility functions that make system calls, check the result, and
623         exit on any error. This will simplify the error checking needed in
624         programs using these functions.
625         
626 2005-11-05  Carl Worth  <cworth@cworth.org>
627
628         * src/Makefile.am: Break things up for separate ttt-client and
629         ttt-server and programs.
630