// Cabecera: Conf* obtenerConfiguraciones() // Precondicion: // Poscondicion: devuelve un vector de conf con los datos de configuracion.txt Conf* obtenerConfiguraciones() { FILE *FICHERO_CONF = fopen("configuracion.txt", "r"); if (FICHERO_CONF == NULL) { printf("Error al abrir fichero configuracion.txt"); exit(1); } else { char c; int n = 0; char *cadena = (char*) malloc(sizeof (char)); int contadorChar = 0; Conf *p = (Conf*) malloc(sizeof (Conf)); while ((c = fgetc(FICHERO_CONF)) != EOF) { if (c == '\n') { n++; p = (Conf*) realloc(p, n * sizeof (Conf)); cadena = (char*) realloc(cadena, (contadorChar + 1) * sizeof (char)); cadena[contadorChar] = '\0'; p[n - 1] = obtenerConfiguracion(cadena); contadorChar = 0; cadena = (char*) calloc(1, sizeof (char)); } else { contadorChar++; cadena = (char*) realloc(cadena, (contadorChar) * sizeof (char)); cadena[contadorChar - 1] = c; } } n++; p = (Conf*) realloc(p, n * sizeof (Conf)); cadena = (char*) realloc(cadena, (contadorChar + 1) * sizeof (char)); cadena[contadorChar] = '\0'; p[n - 1] = obtenerConfiguracion(cadena); contadorChar = 0; cadena = (char*) calloc(1, sizeof (char)); fclose(FICHERO_CONF); return p; } }
int main(int argc, char* argv[]) { lista_tareas = list_create(); log_crear("DEBUG", LOG_FILE, PROCESO); obtenerConfiguracion(argv[1]); //sem_init(&sem_sin_hilos, 0, 1); conectarseAMarta(); esperarTareas(); return 0; }