Modificaciones

Te he modificado lo de cerrar el archivo que hemos hablado antes y un else siemplemente porque o rompes el bucle o haces eso. Estaba correcto pero me parece más acertado ponienle un else. También te quería comentar que no hace falta diferenciar entre si es register o no, puedes hacer todo lo que estas haciendo de un golpe. Ten en cuenta que vas a actualizarlo siempre, porque según como está descrita la práctica, ejecutas el programa de tal manera que siempre envies un register, siendo OBLIGATORIO su almacenaje sea o no el Expires 0. Y luego ya miras lo del Expire.
Por lo demás todo ALL RIGHT :)