Beispiel #1
0
int main(int argc, char **argv)
{
	struct shell_state shell;	
	shell.last_ret_value = 0;
	shell.cmds = initBinaryTree();

	int counter = 0;
	char inchar;
	char wd[80];
	dynamic_array *inbuffer = create_array(BLOCKSIZE);

	while(input < 0)
	{
		input = open("/dev/kbd", O_RDONLY | O_APPEND, 0);
	}

	printf("Ultrashell started.\n");
	
	getcwd(wd, 80);
	printf("%s$ ", wd);
	
	do
	{
		//inchar = getchar();
		read(input, &inchar, sizeof(char));

		switch(inchar)
		{
			case '\0':
			break;

			case '\b':
				if(counter != 0)
				{
					set(inbuffer, --counter,  '\0');
					printf("\b");
				}
			break;

			default:
				set(inbuffer, counter++, inchar);
				set(inbuffer, counter, '\0');
				printf("%c", inchar);
			break;
		}

       	if(inchar == '\n')
		{
			parserLine(&shell, as_string(inbuffer));

			getcwd(wd, 80);
			printf("%s$ ", wd);
			
			counter = 0;
			set(inbuffer, counter, '\0');
		}
	}FOREVER;

	return 0;
}
Beispiel #2
0
/**
 * 
 * @param snomarch
 * @return 
 */
PPunto recuperaDatos(char * snomarch) {

    FILE*fp;
    char c;

    PPunto proot = NULL;
    PPunto paux = NULL, pact = NULL;

    cantob = 0;


    fp = fopen(snomarch, "r");

    if (fp != NULL) {
        char line [ 128 ];
        while (fgets(line, sizeof line, fp) != NULL) {
            
            paux = parserLine(line);
/*
            printf("%f::%f::%d::%i\n", paux->lat, paux->lon, paux->id, paux->anno);
*/
            
            if (proot != NULL) {               
                if (pact != NULL) {
                    insertaPunto(pact, paux);
                    pact = paux;
                }
                
            } else {
                proot = paux;
                pact = proot;
                
            }

        }
        fclose(fp);
    }



    return proot;
}