Open fedemgp opened 4 years ago
Notar que con esto, no te importa que tan largo sea el método, porque de eso ya se encargó el sistema operativo al parsear el argumento (podes tener un string "metodo_de_nombre_muy_muuuuuuuuuuuuuuuuuuy_largo" en method y no tenés que preocuparte de liberar ese recurso, porque el sistema operativo lo alloco y se hace responsable de el)
Fede, es correcto lo que decís pero la función strchr me devuelve el un puntero a la primera iteración del caracter que encuentro, es decir, si el tengo '--method=cesar' me devuelve '=cesar' ¿Sería correcto hacer algo como esto?: const char * method = strchr(argv[3], '='); if (method != NULL) { method++; }
si tal cual, me habia olvidado de ese pequeño detalle. Recordá también de que si method == NULL
entonces tenés que abortar la ejecución.
https://github.com/nazar9318/taller1-2c2020-TP1/blob/a61b543a3d047f948c663c43f2d1376f00826091/common_selector.c#L6-L18
No necesitás tener un buffer en el heap para copiar el método. Con un puntero y la función
strchr
lograbas exactamente esto que querés, sin tener ninguna copia extra: