revise reader.c