예제 #1
0
파일: var.c 프로젝트: samv/git
int main(int argc, char **argv)
{
	const char *val;
	int nongit;
	if (argc != 2) {
		usage(var_usage);
	}

	git_extract_argv0_path(argv[0]);

	setup_git_directory_gently(&nongit);
	val = NULL;

	if (strcmp(argv[1], "-l") == 0) {
		git_config(show_config, NULL);
		list_vars();
		return 0;
	}
	git_config(git_default_config, NULL);
	val = read_var(argv[1]);
	if (!val)
		usage(var_usage);

	printf("%s\n", val);

	return 0;
}
예제 #2
0
파일: parse.c 프로젝트: j16r/poseidon
int parse_line(Variable_List * vars, char * line)
{
    int i, j;
    int len;
    int token_len;
    char temp[13];
    
    if((len = check_errors(line)) == ERROR)
    {
	printf("ERROR: Syntax error\n");
        return 0;
    }

    i = 0;
    while(i < len)
    {
	// variable
	if(line[i] == '$')
	{
            i++;
	    for (j = 0; j < length_token(i,line); j++)
                temp[j] = line[i+j];
	    temp[j] = '\0';
	    i+=j;

	    if(find_next(i,'=',line) > 0)
		new_var(vars, temp, INTEGER, 0);
	}
        // statement / function call
	if((line[i] >= 'a' && line[i] <= 'z') ||
	   (line[i] >= 'A' && line[i] <= 'Z') ||
	   line[i] == '_')
	{
	    token_len = length_token(i, line);
	    for (j = 0; j < token_len; j++)
                temp[j] = line[i+j];
	    temp[j] = '\0';
	    i+=j;

	    if (strcmp("list", temp) == 0)
		list_vars(vars);

	    if (strcmp("help", temp) == 0)
		help();

	    if (strcmp("exit", temp) == 0 || strcmp(temp,"quit") == 0)
		return -1;
	
	}
        i++;
    }
    return 0;
}
예제 #3
0
파일: var.c 프로젝트: 00027jang27/git
int cmd_var(int argc, const char **argv, const char *prefix)
{
	const char *val = NULL;
	if (argc != 2)
		usage(var_usage);

	if (strcmp(argv[1], "-l") == 0) {
		git_config(show_config, NULL);
		list_vars();
		return 0;
	}
	git_config(git_default_config, NULL);
	val = read_var(argv[1]);
	if (!val)
		usage(var_usage);

	printf("%s\n", val);

	return 0;
}