Actually, upon closer examination i have found that this code doesnt work - i made the following change to mem_clear():

Code:
function mem_clear()
{   str_cpy((save_text.pstring)[0],"   ");
    str_cpy((save_text.pstring)[1],"   ");
    str_cpy((save_text.pstring)[2],"   ");
    first_struct->value1 = 0;
    first_struct->value2 = 0;
    str_remove(first_struct->str1);
    str_remove(first_struct->str2);
    str_remove(first_struct->str3);
    free(first_struct);
    str_cpy((status_text.pstring)[0],"Status: Memory Cleared.");
}



I wanted to make sure to clear out *everything* in memory to make sure that strings were being re-loaded from the save file. The reason it looked like it worked before is because the strings were still in memory. Once i clear the save_text.pstrings the strings are still blank after a reload.

dammit - this is really starting to frustrate me.