- return "ERROR SYNTAX\n";
- case TTT_ERROR_NOTNUMBER:
- return "ERROR NOTNUMBER\n";
- case TTT_ERROR_NOTGRID:
- return "ERROR NOTGRID\n";
- case TTT_ERROR_NOUSER:
- return "ERROR NOUSER\n";
- case TTT_ERROR_NOTINGAME:
- return "ERROR_NOTINGAME\n";
- case TTT_ERROR_NOTPLAYING:
- return "ERROR_NOTPLAYING\n";
- case TTT_ERROR_NOTYOURTURN:
- return "ERROR NOTYOURTURN\n";
+ return "ERROR SYNTAX\r\n";
+ case TTT_ERROR_NOT_NUMBER:
+ 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";
+
+ /* 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";
+ 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;