static int struct2_test(IC_Env *env) { m_es esi = {m_peach, 5050}, eso, esr; fprintf(stdout, "\n======== m_i_struct2 test ======\n\n"); esr = m_i_struct2_test(NULL, &esi, &eso, env); CHECK_EXCEPTION(env); RETURN_IF_OK(cmp_es(&esi, &eso) && cmp_es(&esi, &esr)); if (!cmp_es(&esi, &eso)) { fprintf(stdout, " out parameter error, sent:\n"); print_es(&esi); fprintf(stdout, " got:\n"); print_es(&eso); fprintf(stdout, "\n"); } if (!cmp_es(&esi, &esr)) { fprintf(stdout, " result error, sent:\n"); print_es(&esi); fprintf(stdout, " got:\n"); print_es(&esr); fprintf(stdout, "\n"); } return -1; }
int ft_printf(const char *format, ...) { int i; va_list list; int size; int nb; nb = 0; size = 0; i = 0; va_start(list, format); while (format[i]) { size += search_char(format, &i); if(format[i] == '\0') return (size); i++; if (format[i] == '0') size += print_0(format, &i, list); else if (format[i] == ' ') size += print_es(format, &i, list); else if (format[i] == '+') size += print_ps(format, &i, list); else if (format[i] == '-') size += print_ng(format, &i, list); else { if(format[i] == '\0') return (size); nb = ft_atoi(nbr(format, &i)); size += print(format, &i, list, nb); } i++; } va_end(list); return (size); }