switch (error) {
case TTT_ERROR_NONE:
return "ERROR NONEi\r\n";
+
+ /* 3.1. Connection setup errors */
case TTT_ERROR_NO_NAME_SET:
return "ERROR NO_NAME_SET\r\n";
case TTT_ERROR_INVALID_NAME:
return "ERROR INVALID_NAME\r\n";
+
+ /* 3.2. Command format errors */
case TTT_ERROR_COMMAND:
return "ERROR COMMAND\r\n";
case TTT_ERROR_SYNTAX:
return "ERROR NOT_NUMBER\r\n";
case TTT_ERROR_NOT_GRID:
return "ERROR NOT_GRID\r\n";
+
+ /* 3.3. Global command errors */
+
+ /* 3.4. Game management errors */
+ case TTT_ERROR_NO_INVITE:
+ return "ERROR NO_INVITE\r\n";
+ case TTT_ERROR_NO_GAME:
+ return "ERROR NO_GAME\r\n";
+
+ /* 3.5. User information errors */
case TTT_ERROR_NO_USER:
return "ERROR NO_USER\r\n";
- case TTT_ERROR_NOT_IN_GAME:
- return "ERROR_NOT_IN_GAME\r\n";
+
+ /* 3.6. In-game errors */
case TTT_ERROR_NOT_PLAYING:
return "ERROR_NOT_PLAYING\r\n";
case TTT_ERROR_NOT_YOUR_TURN:
return "ERROR NOT_YOUR_TURN\r\n";
- /* Not an actual protocol errror, so this should never happen. */
+ case TTT_ERROR_NOT_VALID_MOVE:
+ return "ERROR NOT_VALID_MOVE\r\n";
+
+ /* Here's a non-protocol pseudo-error used to implement QUIT. */
case TTT_ERROR_QUIT_REQUESTED:
ASSERT_NOT_REACHED;
break;