#define _POSIX_C_SOURCE 200112L #include #include #include "gramscii.h" /** extern declarations **/ extern lineset_t screen; /* what is visualised */ extern int WIDTH, HEIGHT; extern int force_new; extern char modified; /* set to 1 if screen modified since last save */ extern char fname[256]; /*** File management ***/ void write_file(FILE *fc){ FILE *fout; int i, ne; if (!fname[0] || force_new){ get_string(fc, "Write to: ", fname, 255); if ((fout=fopen(fname, "r"))!=NULL){ if (!is_yes(get_key(fc,"File exists. Overwrite [y/n]?")) ){ fclose(fout); return; } fclose(fout); } } if((fout=fopen(fname, "w"))==NULL){ get_key(fc, "Error opening file."); return; } ne = 0; for (i=0; i