From 423c45f2ccc5cb3e3d7840b0f76147115d4df84b Mon Sep 17 00:00:00 2001 From: Renaud Fivet Date: Tue, 11 Jun 2013 11:53:08 +0800 Subject: [PATCH] Move mlwrite calls from fileio to file to avoid dependencies of fileio towards display. --- Makefile | 65 ++++++++++++++++++++++++++++---------------------------- file.c | 13 ++++++++++-- fileio.c | 23 +++++++------------- 3 files changed, 51 insertions(+), 50 deletions(-) diff --git a/Makefile b/Makefile index c2d1a19..58377ae 100644 --- a/Makefile +++ b/Makefile @@ -1,8 +1,8 @@ -# makefile for emacs, updated Tue Jun 11 09:36:56 CST 2013 +# makefile for emacs, updated Tue, Jun 11, 2013 11:00:52 AM -SRC=ansi.c basic.c bindable.c bind.c buffer.c crypt.c display.c ebind.c eval.c exec.c execute.c file.c fileio.c flook.c globals.c ibmpc.c input.c isearch.c line.c lock.c main.c names.c pklock.c posix.c random.c region.c search.c spawn.c tcap.c termio.c utf8.c vmsvt.c vt52.c window.c word.c wrapper.c -OBJ=ansi.o basic.o bindable.o bind.o buffer.o crypt.o display.o ebind.o eval.o exec.o execute.o file.o fileio.o flook.o globals.o ibmpc.o input.o isearch.o line.o lock.o main.o names.o pklock.o posix.o random.o region.o search.o spawn.o tcap.o termio.o utf8.o vmsvt.o vt52.o window.o word.o wrapper.o -HDR=basic.h bindable.h bind.h buffer.h crypt.h display.h ebind.h edef.h efunc.h estruct.h eval.h exec.h execute.h file.h fileio.h flook.h input.h isearch.h line.h lock.h names.h pklock.h random.h region.h search.h spawn.h termio.h utf8.h version.h window.h word.h wrapper.h +SRC=ansi.c basic.c bind.c bindable.c buffer.c crypt.c display.c ebind.c eval.c exec.c execute.c file.c fileio.c flook.c globals.c ibmpc.c input.c isearch.c line.c lock.c main.c names.c pklock.c posix.c random.c region.c search.c spawn.c tcap.c termio.c utf8.c vmsvt.c vt52.c window.c word.c wrapper.c +OBJ=ansi.o basic.o bind.o bindable.o buffer.o crypt.o display.o ebind.o eval.o exec.o execute.o file.o fileio.o flook.o globals.o ibmpc.o input.o isearch.o line.o lock.o main.o names.o pklock.o posix.o random.o region.o search.o spawn.o tcap.o termio.o utf8.o vmsvt.o vt52.o window.o word.o wrapper.o +HDR=basic.h bind.h bindable.h buffer.h crypt.h display.h ebind.h edef.h efunc.h estruct.h eval.h exec.h execute.h file.h fileio.h flook.h input.h isearch.h line.h lock.h names.h pklock.h random.h region.h search.h spawn.h termio.h utf8.h version.h window.h word.h wrapper.h # DO NOT ADD OR MODIFY ANY LINES ABOVE THIS -- make source creates them @@ -125,63 +125,62 @@ depend: ${SRC} ansi.o: ansi.c estruct.h line.h utf8.h edef.h basic.o: basic.c basic.h display.h estruct.h line.h utf8.h edef.h input.h \ - random.h word.h -bindable.o: bindable.c bindable.h buffer.h estruct.h line.h utf8.h \ - display.h edef.h file.h input.h + random.h word.h bind.o: bind.c bind.h edef.h estruct.h line.h utf8.h bindable.h buffer.h \ - display.h ebind.h exec.h file.h flook.h input.h names.h window.h + display.h ebind.h exec.h file.h flook.h input.h names.h window.h +bindable.o: bindable.c bindable.h buffer.h estruct.h line.h utf8.h \ + display.h edef.h file.h input.h buffer.o: buffer.c buffer.h estruct.h line.h utf8.h display.h edef.h \ - file.h input.h window.h + file.h input.h window.h crypt.o: crypt.c crypt.h estruct.h line.h utf8.h display.o: display.c display.h estruct.h line.h utf8.h edef.h termio.h \ - version.h wrapper.h window.h + version.h wrapper.h window.h ebind.o: ebind.c ebind.h basic.h bind.h edef.h estruct.h line.h utf8.h \ - bindable.h buffer.h eval.h exec.h file.h isearch.h random.h region.h \ - search.h spawn.h window.h word.h + bindable.h buffer.h eval.h exec.h file.h isearch.h random.h region.h \ + search.h spawn.h window.h word.h eval.o: eval.c eval.h estruct.h line.h utf8.h basic.h bind.h edef.h \ - buffer.h display.h exec.h flook.h input.h random.h search.h termio.h \ - version.h window.h + buffer.h display.h exec.h flook.h input.h random.h search.h termio.h \ + version.h window.h exec.o: exec.c exec.h estruct.h line.h utf8.h buffer.h bind.h edef.h \ - display.h eval.h file.h flook.h input.h + display.h eval.h file.h flook.h input.h execute.o: execute.c edef.h estruct.h line.h utf8.h bind.h random.h \ - display.h file.h + display.h file.h file.o: file.c file.h buffer.h estruct.h line.h utf8.h crypt.h display.h \ - edef.h execute.h fileio.h input.h lock.h window.h -fileio.o: fileio.c fileio.h estruct.h line.h utf8.h display.h crypt.h + edef.h execute.h fileio.h input.h lock.h window.h +fileio.o: fileio.c fileio.h estruct.h line.h utf8.h crypt.h flook.o: flook.c flook.h estruct.h line.h utf8.h fileio.h globals.o: globals.c estruct.h line.h utf8.h edef.h ibmpc.o: ibmpc.c estruct.h line.h utf8.h edef.h input.o: input.c input.h edef.h estruct.h line.h utf8.h bind.h bindable.h \ - display.h exec.h names.h wrapper.h + display.h exec.h names.h wrapper.h isearch.o: isearch.c isearch.h basic.h display.h estruct.h line.h utf8.h \ - edef.h input.h search.h + edef.h input.h search.h line.o: line.c line.h utf8.h basic.h display.h estruct.h edef.h random.h -lock.o: lock.c lock.h estruct.h line.h utf8.h display.h edef.h input.h \ - pklock.h +lock.o: lock.c lock.h estruct.h line.h utf8.h display.h edef.h input.h main.o: main.c basic.h bind.h edef.h estruct.h line.h utf8.h bindable.h \ - buffer.h display.h eval.h execute.h file.h input.h lock.h random.h \ - search.h termio.h version.h + buffer.h display.h eval.h execute.h file.h input.h lock.h random.h \ + search.h termio.h version.h names.o: names.c names.h basic.h bind.h edef.h estruct.h line.h utf8.h \ - bindable.h buffer.h display.h eval.h exec.h file.h isearch.h region.h \ - random.h search.h spawn.h window.h word.h + bindable.h buffer.h display.h eval.h exec.h file.h isearch.h region.h \ + random.h search.h spawn.h window.h word.h pklock.o: pklock.c pklock.h estruct.h line.h utf8.h edef.h -posix.o: posix.c termio.h estruct.h line.h utf8.h edef.h +posix.o: posix.c termio.h random.o: random.c random.h basic.h display.h estruct.h line.h utf8.h \ - edef.h execute.h input.h search.h + edef.h execute.h input.h search.h region.o: region.c region.h estruct.h line.h utf8.h display.h edef.h search.o: search.c search.h estruct.h line.h utf8.h basic.h display.h \ - edef.h input.h + edef.h input.h spawn.o: spawn.c spawn.h buffer.h estruct.h line.h utf8.h display.h \ - edef.h file.h input.h window.h + edef.h file.h input.h window.h tcap.o: tcap.c display.h estruct.h line.h utf8.h edef.h termio.h -termio.o: termio.c termio.h +termio.o: termio.c termio.h estruct.h line.h utf8.h edef.h utf8.o: utf8.c utf8.h vmsvt.o: vmsvt.c estruct.h line.h utf8.h edef.h vt52.o: vt52.c estruct.h line.h utf8.h edef.h window.o: window.c window.h estruct.h line.h utf8.h basic.h display.h \ - edef.h execute.h wrapper.h + edef.h execute.h wrapper.h word.o: word.c word.h basic.h display.h estruct.h line.h utf8.h edef.h \ - random.h region.h + random.h region.h wrapper.o: wrapper.c wrapper.h # DEPENDENCIES MUST END AT END OF FILE diff --git a/file.c b/file.c index 4312fc2..1257d57 100644 --- a/file.c +++ b/file.c @@ -326,6 +326,10 @@ int readin(char *fname, int lockfl) memcpy( lp1->l_text, fline, nbytes) ; ++nline; } + + if( s == FIOERR) + mlwrite( "File read error") ; + eoltype = ftype ; if( ftype == FTYPE_DOS) curbp->b_mode |= MDDOS ; @@ -540,6 +544,7 @@ int writeout(char *fn) #endif if ((s = ffwopen(fn)) != FIOSUC) { /* Open writes message. */ + mlwrite( "Cannot open file for writing") ; return FALSE; } mlwrite("(Writing...)"); /* tell us were writing */ @@ -547,8 +552,11 @@ int writeout(char *fn) nline = 0; /* Number of lines. */ while (lp != curbp->b_linep) { s = ffputline( &lp->l_text[0], llength(lp), curbp->b_mode & MDDOS) ; - if( s != FIOSUC) + if( s != FIOSUC) { + mlwrite( "Write I/O error") ; break; + } + ++nline; lp = lforw(lp); } @@ -559,7 +567,8 @@ int writeout(char *fn) mlwrite("(Wrote 1 line)"); else mlwrite("(Wrote %d lines)", nline); - } + } else + mlwrite( "Error closing file") ; } else /* Ignore close error */ ffclose(); /* if a write error. */ if (s != FIOSUC) /* Some sort of error. */ diff --git a/fileio.c b/fileio.c index 4d17a45..2bcdf4d 100644 --- a/fileio.c +++ b/fileio.c @@ -15,7 +15,6 @@ #include #include "estruct.h" -#include "display.h" #if CRYPT @@ -56,13 +55,12 @@ fio_code ffwopen( const char *fn) int fd; if ((fd = creat(fn, 0666, "rfm=var", "rat=cr")) < 0 - || (ffp = fdopen(fd, "w")) == NULL) { + || (ffp = fdopen(fd, "w")) == NULL) #else - if ((ffp = fopen(fn, "w")) == NULL) { + if ((ffp = fopen(fn, "w")) == NULL) #endif - mlwrite("Cannot open file for writing"); return FIOERR; - } + return FIOSUC; } @@ -84,10 +82,9 @@ fio_code ffclose(void) #endif #if V7 | USG | BSD | (MSDOS & (MSC | TURBO)) - if (fclose(ffp) != FALSE) { - mlwrite("Error closing file"); + if (fclose(ffp) != FALSE) return FIOERR; - } + return FIOSUC; #else fclose(ffp); @@ -122,10 +119,8 @@ fio_code ffputline( char *buf, int nbuf, int dosflag) { fputc( '\n', ffp) ; - if( ferror( ffp)) { - mlwrite( "Write I/O error") ; + if( ferror( ffp)) return FIOERR ; - } return FIOSUC ; } @@ -180,10 +175,8 @@ fio_code ffgetline(void) /* test for any errors that may have occured */ if (c == EOF) { - if (ferror(ffp)) { - mlwrite("File read error"); - return FIOERR; - } + if( ferror( ffp)) + return FIOERR ; if (i != 0) eofflag = TRUE;