home *** CD-ROM | disk | FTP | other *** search
/ ftp.update.uu.se / ftp.update.uu.se.2014.03.zip / ftp.update.uu.se / pub / rainbow / cpm / emacs / emacssrc.lzh / writeout.c < prev    next >
C/C++ Source or Header  |  1992-03-11  |  1KB  |  58 lines

  1. extern FILE * ffp;
  2. extern int ovreq, ovreq2, ovsub, ovsub2;
  3. extern char Argbuf[128];
  4. /* writeout.c: #included by filesave.c and filewrite.c
  5.  * This function starts to write a file. It makes a
  6.  * CP/M-style backup file, then sets up an overlay thread,
  7.  * ovopwr33 and ovwrit34.
  8.  */
  9.  
  10. writeout(fn)
  11. char    *fn;
  12. {
  13.     register int    s;
  14. /*    register LINE    *lp; */
  15. /*    register int    nline; */
  16.     char backname[NFILEN];
  17.  
  18.     strcpy( backname, fn );
  19.     s = 0;
  20.     while ( backname[s] && backname[s] != '.' ) s++;
  21.     if ( backname[s] == '.') backname[++s] = 0;
  22.     else { backname[++s] = '.'; backname[++s] = 0; }
  23.     strcat( backname, "bak" );
  24.     rename( fn, backname );
  25.         /* CP/M style backup file has been created. */
  26.  
  27.     strcpy( Argbuf, fn );
  28.     ovreq = 33;
  29.     ovreq2 = 34;
  30.     return ( 1 );
  31. #ifdef NEVER
  32.     s = TRUE;
  33.     if ((ffp=fopen(fn, "w")) == NULL)    /* Open writes message.    */
  34.         return (ctrlg());
  35.     lp = lforw(curbp->b_linep);        /* First line.        */
  36.     nline = 0;                /* Number of lines.    */
  37.     while (lp != curbp->b_linep)
  38.     {    if ( fwrite( &lp->l_text[0], 1,
  39.             llength(lp), ffp) != llength(lp)
  40.         || putc( '\r', ffp ) == EOF
  41.         || putc( '\n', ffp ) == EOF )
  42.         {    s = FALSE;
  43.             mlwrite("Write I/O error");
  44.             break;
  45.         }
  46.         ++nline;
  47.         lp = lforw(lp);
  48.     }
  49.     putc( ('z'&0x1f), ffp );
  50.     fclose( ffp );
  51.     if (s == TRUE)
  52.     {    /* No write error. */
  53.         mlwrite("[Wrote %d lines]", nline);
  54.     }
  55.     return ( s );
  56. #endif
  57. }
  58.