Código:
el problema es que en esta funcion entra a las condiciones pero no modifica el estado y no logro entender porque, de hecho uso una funcion con la misma estructura para modificar los autos y los usuarios y me funcionan bien... agradeceria si me pudieran hechar una mano para ver porque no funciona... quiza sea una tontera pero despues de tantos dias y horas y horas en esto uno ya no los ve... saludostypedef struct Arriendo {
int codigo_arriendo; //Código del arriendo
int codigo_auto; //Código del auto
char rut[11]; //Rut arrendatario
char fecha_arriendo[11]; //Fecha en la que se arrendo
char fecha_vencimiento[11]; //Fecha en la que vence el arriendo
char estado[8]; //Estado del arriendo
struct Arriendo *next;
}Arriendo;
.
.
.
void ModificarArriendo(struct Arriendo **CabezaArriendo)
{
struct Arriendo *Modificar;
time_t tiempo;
char fecha[11];
struct tm *tmPtr;
if (!VaciaArriendo(*CabezaArriendo))
{
tiempo = time(NULL);
tmPtr = localtime(&tiempo);
strftime( fecha, 11, "%Y/%m/%d", tmPtr);
if (strcmp((*CabezaArriendo)->fecha_vencimiento,fecha) < 0)
{
Modificar = *CabezaArriendo;
strcpy(Modificar->estado,"Vencido");
}
else
{
Modificar = (*CabezaArriendo)->next;
while ((Modificar != NULL) && (strcmp(Modificar->fecha_vencimiento,fecha) < 0))
{
strcpy(Modificar->estado,"Vencido");
Modificar = Modificar->next;
}
}
}
}
---- Editado ----
saque el free que en realidad es una tontera que no me habia percatado


