コード例 #1
0
ファイル: table.c プロジェクト: sharugupta/OpenUH
static void
write_option_names (void)
{
	int i;
	char *ivar;
	buffer_t buffer;
	FILE *f;
	f = begin_file("option_names.h");
	for (i = 0; i < num_options; i++) {
		if (!find_by_flag(options[i].flag, i))
			fprintf(f, "#define %s %d\n", options[i].flag, i);
		if (options[i].toggle) {
			/* get var after "toggle(&" */
			// Handle multiple toggles such as:
			//   toggle(&var1,10);toggle(&var2,11)
			char *p = options[i].action;
			while ((p = strstr(p, "toggle(&")) != NULL) {
			  p = p + 8;
			  strcpy(buffer, p);
			  ivar = strtok(buffer,COMMA);
			  add_implicit_var(ivar);
			}
		}
	}
	fprintf(f, "#define LAST_PREDEFINED_OPTION %d\n", num_options);
	fprintf(f, "extern int max_options;\n\n");
	for (i = 0; i < n_ivars; i++) {
		fprintf(f, "extern int %s;\n", implicit_vars[i]);
	}
	fclose(f);
}
コード例 #2
0
ファイル: table.c プロジェクト: qiyao/xcc
static void
write_option_names (void)
{
	int i;
	char *ivar;
	buffer_t buffer;
	FILE *f;
	f = begin_file("option_names.h");
	for (i = 0; i < num_options; i++) {
		fprintf(f, "#define %s %d\n", options[i].flag, i);
		if (options[i].toggle) {
			/* get var after "toggle(&" */
			strcpy(buffer, ((char*)options[i].action)+8);
			ivar = strtok(buffer,COMMA);
			add_implicit_var(ivar);
		}
	}
	fprintf(f, "#define LAST_PREDEFINED_OPTION %d\n", num_options);
	fprintf(f, "extern int max_options;\n\n");
	for (i = 0; i < n_ivars; i++) {
		fprintf(f, "extern int %s;\n", implicit_vars[i]);
	}
	fclose(f);
}