home *** CD-ROM | disk | FTP | other *** search
- extern FILE * ffp;
- extern int ovreq, ovreq2, ovsub, ovsub2;
- extern char Argbuf[128];
- /* writeout.c: #included by filesave.c and filewrite.c
- * This function starts to write a file. It makes a
- * CP/M-style backup file, then sets up an overlay thread,
- * ovopwr33 and ovwrit34.
- */
-
- writeout(fn)
- char *fn;
- {
- register int s;
- /* register LINE *lp; */
- /* register int nline; */
- char backname[NFILEN];
-
- strcpy( backname, fn );
- s = 0;
- while ( backname[s] && backname[s] != '.' ) s++;
- if ( backname[s] == '.') backname[++s] = 0;
- else { backname[++s] = '.'; backname[++s] = 0; }
- strcat( backname, "bak" );
- rename( fn, backname );
- /* CP/M style backup file has been created. */
-
- strcpy( Argbuf, fn );
- ovreq = 33;
- ovreq2 = 34;
- return ( 1 );
- #ifdef NEVER
- s = TRUE;
- if ((ffp=fopen(fn, "w")) == NULL) /* Open writes message. */
- return (ctrlg());
- lp = lforw(curbp->b_linep); /* First line. */
- nline = 0; /* Number of lines. */
- while (lp != curbp->b_linep)
- { if ( fwrite( &lp->l_text[0], 1,
- llength(lp), ffp) != llength(lp)
- || putc( '\r', ffp ) == EOF
- || putc( '\n', ffp ) == EOF )
- { s = FALSE;
- mlwrite("Write I/O error");
- break;
- }
- ++nline;
- lp = lforw(lp);
- }
- putc( ('z'&0x1f), ffp );
- fclose( ffp );
- if (s == TRUE)
- { /* No write error. */
- mlwrite("[Wrote %d lines]", nline);
- }
- return ( s );
- #endif
- }