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