]> git.cworth.org Git - ttt/blob - src/ttt-error.c
Deleted debugging code and changed return errors to fit protocol
[ttt] / src / ttt-error.c
1 /* ttt-error.c - errors returned to clients
2  *
3  * Copyright © 2005 Carl Worth
4  *
5  * This program is free software; you can redistribute it and/or modify
6  * it under the terms of the GNU General Public License as published by
7  * the Free Software Foundation; either version 2, or (at your option)
8  * any later version.
9  *
10  * This program is distributed in the hope that it will be useful,
11  * but WITHOUT ANY WARRANTY; without even the implied warranty of
12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13  * GNU General Public License for more details.
14  *
15  * You should have received a copy of the GNU General Public License
16  * along with this program; if not, write to the Free Software Foundation,
17  * Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
18  *
19  * Author: Carl Worth <cworth@cworth.org>
20  */
21
22 #include "ttt-error.h"
23
24 const char *
25 ttt_error_string (ttt_error_t error)
26 {
27     switch (error) {
28     case TTT_ERROR_NONE:
29         return "ERROR NONEi\r\n";
30
31     /* 3.1. Connection setup errors */
32     case TTT_ERROR_NO_NAME_SET:
33         return "ERROR NO_NAME_SET\r\n";
34     case TTT_ERROR_INVALID_NAME:
35         return "ERROR INVALID_NAME\r\n";
36
37     /* 3.2. Command format errors */
38     case TTT_ERROR_COMMAND:
39         return "ERROR COMMAND\r\n";
40     case TTT_ERROR_SYNTAX:
41         return "ERROR SYNTAX\r\n";
42     case TTT_ERROR_NOT_NUMBER:
43         return "ERROR NOT_NUMBER\r\n";
44     case TTT_ERROR_NOT_GRID:
45         return "ERROR NOT_GRID\r\n";
46
47     /* 3.3. Global command errors */
48
49     /* 3.4. Game management errors */
50     case TTT_ERROR_NO_INVITE:
51         return "ERROR NO_INVITE\r\n";
52     case TTT_ERROR_NO_GAME:
53         return "ERROR NO_GAME\r\n";
54
55     /* 3.5. User information errors */
56     case TTT_ERROR_NO_USER:
57         return "ERROR NO_USER\r\n";
58
59     /* 3.6. In-game errors */
60     case TTT_ERROR_NOT_PLAYING:
61         return "ERROR_NOT_PLAYING\r\n";
62     case TTT_ERROR_NOT_YOUR_TURN:
63         return "ERROR NOT_YOUR_TURN\r\n";
64     case TTT_ERROR_NOT_VALID_MOVE:
65         return "ERROR NOT_VALID_MOVE\r\n";
66
67     /* Here's a non-protocol pseudo-error used to implement QUIT. */
68     case TTT_ERROR_QUIT_REQUESTED:
69         ASSERT_NOT_REACHED;
70         break;
71     }
72
73     ASSERT_NOT_REACHED;
74     return NULL;
75 }