X-Git-Url: https://git.llucax.com/z.facultad/75.06/emufs.git/blobdiff_plain/c44140901674eea943d44ef522337fae17feb3c1..791aafb3222913329b3df662287c2f8091bfec9b:/emufs_gui/gui.c?ds=sidebyside diff --git a/emufs_gui/gui.c b/emufs_gui/gui.c index 3800f9d..ec90147 100644 --- a/emufs_gui/gui.c +++ b/emufs_gui/gui.c @@ -22,7 +22,7 @@ void menu_articulos(); 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[]) @@ -36,6 +36,8 @@ t_Param param_ok(int argc, char *argv[]) if ((i+1) 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; @@ -64,7 +66,10 @@ int main(int argc, char *argv[]) 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"); @@ -127,11 +132,11 @@ int main(int argc, char *argv[]) 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);