int main(int argc, char *args[]) { struct carlfw *fw = NULL; int err; if (argc < 3 || argc > 4) { err = -EINVAL; goto err_param; } switch (args[1][0]) { case 'a': if (argc != 4) goto err_param; fw = carlfw_load(args[2]); if (IS_ERR_OR_NULL(fw)) { err = PTR_ERR(fw); goto err_out; } err = add_mini(fw, args[3]); break; case 'd': if (argc != 3) goto err_param; fw = carlfw_load(args[2]); if (IS_ERR_OR_NULL(fw)) { err = PTR_ERR(fw); goto err_out; } err = del_mini(fw); break; default: goto err_param; break; } carlfw_release(fw); return EXIT_SUCCESS; err_out: carlfw_release(fw); fprintf(stderr, "miniboot action failed (%d).\n", err); return EXIT_FAILURE; err_param: carlfw_release(fw); mini_help(); return EXIT_FAILURE; }
int ft_printf(const char *format, ...) { va_list myva; t_main *main; main = (t_main *)malloc(sizeof(t_main) * 1); main->sizeword = 0; main->i = 0; main->totalsize = 0; main->chaine = format; //initializzzzzze VA va_start(myva, format); while(format[main->i] != '\0') { if(format[main->i] != '%') { ft_putchar(format[main->i]); main->sizeword++; // main->i++; } else if(format[main->i + 1] != '\0') { init_main(main); if(main->chaine[main->i + 1] != '%') main->elem = va_arg(myva, void *); flag_fiel(main); my_width(main, &myva); my_accurate(main, &myva); lenght_fiel(main); manage_arg(main); add_mini(main); ft_putstr(main->print); main->totalsize += main->size; } main->i++; }