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; }
/** * * @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; }