copio desde la linea 39, hablaré de los numeros de linea aquí
for (x=0; x<subject_size; x++) {
if(buffer[x]=='=') break;
subject[x]=buffer[x];
}
for (x; x<file_line_size; x++) {
value[x]=buffer[x];
}
supongamos que en el fichero tienes
el for de la linea 1 empieza en 0 y avanza hasta conseguir '=' es decir hasta 5
así que subject quedaría en memoria
cuando llegas a la linea 6 tienes un for que no inicia, sino que continúa
value está limpio y sería a nivel de memoria algo como
cuando lo llenas, empiezas a llenarlo desde la posición que quedó el ciclo anterior (en nuestro caso 5), así que
|0|0|0|0|0|m|u|n|d|o|0|0....
cuando lo vas a imprimir, printf no lee cadena en en value, ya que empieza con fin de cadena (ese 0 que muestro en el string) y no imprime nada
value tienes que escribirlo desde 0, así que puedes usar x como base para buffer, pero no para value