bool stackToFile(const Common::String &filename, const Variable &from) { #if 0 FILE *fp = fopen(filename, saveEncoding ? "wb" : "wt"); if (!fp) return fatal("Can't create file", filename); VariableStack *hereWeAre = from.varData.theStack -> first; encode1 = (byte)saveEncoding & 255; encode2 = (byte)(saveEncoding >> 8); if (saveEncoding) { fprintf(fp, "[Custom data (encoded)]\r\n"); writeStringEncoded(UTF8_CHECKER, fp); } else { fprintf(fp, "[Custom data (ASCII)]\n"); } while (hereWeAre) { if (saveEncoding) { switch (hereWeAre -> thisVar.varType) { case SVT_STRING: fputc(encode1, fp); writeStringEncoded(hereWeAre -> thisVar.varData.theString, fp); break; case SVT_INT: // Small enough to be stored as a char if (hereWeAre -> thisVar.varData.intValue >= 0 && hereWeAre -> thisVar.varData.intValue < 256) { fputc(2 ^ encode1, fp); fputc(hereWeAre -> thisVar.varData.intValue, fp); } else { fputc(1 ^ encode1, fp); fp->writeUint32LE(hereWeAre -> thisVar.varData.intValue); } break; default: fatal("Can't create an encoded custom data file containing anything other than numbers and strings", filename); fclose(fp); return false; } } else { char *makeSureItsText = getTextFromAnyVar(hereWeAre -> thisVar); if (makeSureItsText == NULL) break; fprintf(fp, "%s\n", makeSureItsText); delete makeSureItsText; } hereWeAre = hereWeAre -> next; } fclose(fp); #endif return true; }