Exemplo n.º 1
0
int main(int argc, char **argv)
{
	FILE *file;
	char name[MAX_NAME_LENGTH], clan[MAX_NAME_LENGTH];
	struct player_array array = PLAYER_ARRAY_ZERO;
	unsigned i;

	load_config();
	if (argc != 2) {
		fprintf(stderr, "usage: %s <clan_name>\n", argv[0]);
		return EXIT_FAILURE;
	}

	/* Load players */

	sprintf(path, "%s/clans/%s", config.root, argv[1]);
	if (!(file = fopen(path, "r")))
		return perror(path), EXIT_FAILURE;

	while (fscanf(file, " %s", name) == 1) {
		struct player player;

		if (!read_player(&player, name))
			strcpy(player.clan, argv[1]);
		add_player(&array, &player);
	}

	fclose(file);

	/* Sort players */
	qsort(array.players, array.length, sizeof(*array.players), cmp_player);

	/* Eventually, print them */
	hex_to_string(argv[1], clan);
	print_header(&CTF_TAB, clan, NULL);
	printf("<h2>%s</h2>\n", clan);
	printf("<p>%u member(s)</p>\n", array.length);
	printf("<table><thead><tr><th></th><th>Name</th><th>Clan</th><th>Score</th></tr></thead>\n<tbody>\n");

	for (i = 0; i < array.length; i++)
		html_print_player(&array.players[i], 0);

	printf("</tbody></table>\n");
	print_footer();

	return EXIT_SUCCESS;
}
Exemplo n.º 2
0
int main(int argc, char **argv)
{
	struct list list = LIST_ZERO;
	size_t length;

	load_config();

	if (argc != 2) {
		fprintf(stderr, "usage: %s <query>\n", argv[0]);
		return EXIT_FAILURE;
	}

	/* No need to search when the query is too long or empty */
	length = strlen(argv[1]);
	if (length > 0 && length < NAME_LENGTH)
		search(argv[1], &list);

	CUSTOM_TAB.name = "Search results";
	CUSTOM_TAB.href = "";
	html_header(&CUSTOM_TAB, "Search results", argv[1]);

	if (list.length == 0) {
		printf("No players found");
	} else {
		struct result *result;

		printf("<table><thead><tr><th></th><th>Name</th><th>Clan</th><th>Score</th></tr></thead><tbody>\n");
		for (result = list.first; result; result = result->next) {
			if (!result->is_loaded)
				read_player(&result->player, result->name);
			html_print_player(&result->player, 1);
		}
		printf("</tbody></table>\n");
	}

	html_footer();

	return EXIT_SUCCESS;
}