diff options
author | Robin Haberkorn <robin.haberkorn@googlemail.com> | 2011-07-11 03:24:54 +0200 |
---|---|---|
committer | Robin Haberkorn <robin.haberkorn@googlemail.com> | 2011-07-11 03:24:54 +0200 |
commit | 76c1a05f2b7389b9ca01d8af125382fc0a646faa (patch) | |
tree | fb64b8d5f9579d337ac99a0e6c9c77668725bd70 | |
parent | 225b1cb38b4086fe764618766507d44799316f36 (diff) | |
download | videoteco-fork-76c1a05f2b7389b9ca01d8af125382fc0a646faa.tar.gz |
some errno and error_message() cleanup
* errno was evaluated even though it was in an undefined state
* error_message()s written by cmd_writebak() were overwritten by cmd_write()
-rw-r--r-- | tecbuf.c | 2 | ||||
-rw-r--r-- | teccmd.c | 18 |
2 files changed, 12 insertions, 8 deletions
@@ -1015,6 +1015,7 @@ int status; if(bcount == sizeof(iobuf)){ status = write(chan,iobuf,sizeof(iobuf)); if(status != sizeof(iobuf)){ + /* NOTE: status *should* be -1, errno *should* be set */ return(FAIL); }/* End IF */ bcount = 0; @@ -1037,6 +1038,7 @@ int status; if(bcount > 0){ status = write(chan,iobuf,(unsigned)bcount); if(status != bcount){ + /* NOTE: status *should* be -1, errno *should* be set */ return(FAIL); }/* End IF */ }/* End IF */ @@ -1113,9 +1113,7 @@ int status; if(status == SUCCESS) hbp->isbackedup = YES; if(status == FAIL && errno != EEXIST){ - sprintf(tmp_message,"?Error opening <%s>: %s", - filename,error_text(errno)); - error_message(tmp_message); + /* NOTE: cmd_writebak has already written the error_message */ close(fi); return(FAIL); }/* End IF */ @@ -1133,9 +1131,7 @@ int status; #endif if(status == SUCCESS) hbp->isbackedup = YES; if(status == FAIL){ - sprintf(tmp_message,"?Error opening <%s>: %s", - filename,error_text(errno)); - error_message(tmp_message); + /* NOTE: cmd_writebak has already written the error_message */ close(fi); return(FAIL); }/* End IF */ @@ -1165,15 +1161,16 @@ int status; status = buff_write(hbp,fi,0,hbp->zee); - close(fi); - if(status == FAIL){ sprintf(tmp_message,"?Error writing <%s>: %s", filename,error_text(errno)); error_message(tmp_message); + close(fi); return(FAIL); }/* End IF */ + close(fi); + hbp->ismodified = NO; if(hbp == curbuf){ screen_label_line(hbp,"",LABEL_C_MODIFIED); @@ -1215,6 +1212,7 @@ register int status; sprintf(tmp_message,"?Error creating subdirectory <%s>: %s", pathname,error_text(errno)); error_message(tmp_message); + errno = 0; return(FAIL); }/* End IF */ }/* End IF */ @@ -1231,11 +1229,13 @@ register int status; if(fo < 0){ if(errno == EEXIST){ chmod(tmp_filename,0444); + errno = EEXIST; return(FAIL); }/* End IF */ sprintf(tmp_message,"?Error opening <%s>: %s", tmp_filename,error_text(errno)); error_message(tmp_message); + errno = 0; return(FAIL); }/* End IF */ @@ -1246,6 +1246,7 @@ register int status; input_filename,error_text(errno)); error_message(tmp_message); close(fo); + errno = 0; return(FAIL); }/* End IF */ @@ -1255,6 +1256,7 @@ register int status; tmp_filename,error_text(errno)); error_message(tmp_message); close(fo); + errno = 0; return(FAIL); }/* End IF */ |