{"port", 'p', "PORT", 0, "Port of server"},
{"user", 'u', "USERNAME", 0, "Username for conection"},
{"game", 'g', "GAME", 0, "Game to join"},
+ {"watch", 'w', 0, 0, "Watch instad of join"},
{ 0 }
};
case 'g':
args->game = arg;
break;
+ case 'w':
+ args->watch = 1;
+ break;
case ARGP_KEY_ARG:
argp_usage (state);
args->game = getenv ("RR_GAME");
if (args->game == NULL)
args->game = ARGS_GAME_DEFAULT;
+ args->watch = 0;
return argp_parse (&argp, argc, argv, 0, 0, args);
}
return 1;
}
- status = rr_client_join (game.client, args.game);
- if (status == RR_STATUS_NO_GAME) {
- status = rr_client_new (game.client, args.game);
+ if (args.watch) {
+ status = rr_client_watch (game.client, args.game);
+ if (status == RR_STATUS_NO_GAME) {
+ fprintf (stderr, "No game %s to watch\n", args.game);
+ }
+ } else {
+ status = rr_client_join (game.client, args.game);
+ if (status == RR_STATUS_NO_GAME) {
+ status = rr_client_new (game.client, args.game);
+ }
}
game.board = rr_board_create (16, 16);