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