WINDOW *msg_box(WINDOW *win, int w, int h, const char *format, ...);
void msg_box_free(WINDOW *padre, WINDOW *win);
-typedef enum {PARAM_OK, SHOW_HELP, TIPO_NO_DEFINIDO, TIPO_INVALIDO} t_Param;
+typedef enum {PARAM_OK, SHOW_HELP, TIPO_NO_DEFINIDO, TIPO_INVALIDO, BLOQUE_NO_DEFINIDO} t_Param;
/* Verifica Argumentos */
t_Param param_ok(int argc, char *argv[])
if ((i+1)<argc) {
n = atoi(argv[i+1]);
if ((n < 1) || (n > 3)) return TIPO_INVALIDO;
+ if (((n == 1) || (n == 3)) && ((i+2)>=argc))
+ return BLOQUE_NO_DEFINIDO;
} else {
/* Ops, no hay mas parametros */
return TIPO_NO_DEFINIDO;
print_help(argv[0]);
return 0;
case TIPO_NO_DEFINIDO:
- printf("Falta parámetro requerido. Luego del nombre del archivo debe especificar el tipo de archivo\n");
+ printf("Falta parámetro requerido.\nLuego del nombre del archivo debe especificar el tipo de archivo\n");
+ return 1;
+ case BLOQUE_NO_DEFINIDO:
+ printf("Falta parámetro requerido.\nLuego del tipo de archivo debe especificar el tamaño del bloque a utilizar\n");
return 1;
case TIPO_INVALIDO:
printf("Tipo de archivo no valido. Los valores posibles para el tipo de archivo son:\n");
wrefresh(stdscr);
dialog = msg_box(stdscr, COLS, LINES, "Generando archivos ...");
- if (argc == 3) {
- art_cargar(argv[1], atoi(argv[2]));
+ if (argc == 4) {
+ art_cargar(argv[1], atoi(argv[2]), atoi(argv[3]));
fact_cargar(argv[1]);
} else
- art_cargar(NULL, -1);
+ art_cargar(NULL, -1, -1);
msg_box_free(stdscr, dialog);