diff options
author | Alberto <alberto.ruiz@codethink.co.uk> | 2011-09-30 17:43:31 +0100 |
---|---|---|
committer | Alberto <alberto.ruiz@codethink.co.uk> | 2011-09-30 17:43:31 +0100 |
commit | 06dedc4631b4d8fcd589e71ba261baccc5fa1620 (patch) | |
tree | b96b9763b3e0d6b836d631f073f6d5aaae511748 /libtbd_apply.c | |
parent | cca3e1e0f412a3f1d2d161521a3c1e8ce8df9d45 (diff) | |
download | tbdiff-06dedc4631b4d8fcd589e71ba261baccc5fa1620.tar.gz |
Remove return statement from tbd_error
Diffstat (limited to 'libtbd_apply.c')
-rw-r--r-- | libtbd_apply.c | 135 |
1 files changed, 67 insertions, 68 deletions
diff --git a/libtbd_apply.c b/libtbd_apply.c index 3bf4fc0..ce113f5 100644 --- a/libtbd_apply.c +++ b/libtbd_apply.c @@ -32,7 +32,6 @@ #include <unistd.h> #include <utime.h> - char* tbd_apply_fread_string(FILE *stream) { @@ -52,19 +51,19 @@ tbd_apply_identify(FILE *stream) { uint8_t cmd; if(fread(&cmd, 1, 1, stream) != 1) - tbd_error(TBD_ERROR_UNABLE_TO_READ_STREAM); + return tbd_error(TBD_ERROR_UNABLE_TO_READ_STREAM); if(cmd != TBD_CMD_IDENTIFY) - tbd_error(TBD_ERROR_INVALID_PARAMETER); + return tbd_error(TBD_ERROR_INVALID_PARAMETER); uint16_t nlen; if(fread(&nlen, 2, 1, stream) != 1) - tbd_error(TBD_ERROR_UNABLE_TO_READ_STREAM); + return tbd_error(TBD_ERROR_UNABLE_TO_READ_STREAM); if(strlen(TB_DIFF_PROTOCOL_ID) != nlen) - tbd_error(TBD_ERROR_INVALID_PARAMETER); + return tbd_error(TBD_ERROR_INVALID_PARAMETER); char nstr[nlen]; if(fread(nstr, 1, nlen, stream) != nlen) - tbd_error(TBD_ERROR_UNABLE_TO_READ_STREAM); + return tbd_error(TBD_ERROR_UNABLE_TO_READ_STREAM); if(strncmp(nstr, TB_DIFF_PROTOCOL_ID, nlen) != 0) - tbd_error(TBD_ERROR_INVALID_PARAMETER); + return tbd_error(TBD_ERROR_INVALID_PARAMETER); return 0; } @@ -73,33 +72,33 @@ tbd_apply_cmd_dir_create(FILE *stream) { uint16_t dlen; if(fread(&dlen, sizeof(uint16_t), 1, stream) != 1) - tbd_error(TBD_ERROR_UNABLE_TO_READ_STREAM); + return tbd_error(TBD_ERROR_UNABLE_TO_READ_STREAM); char dname[dlen + 1]; if(fread(dname, 1, dlen, stream) != dlen) - tbd_error(TBD_ERROR_UNABLE_TO_READ_STREAM); + return tbd_error(TBD_ERROR_UNABLE_TO_READ_STREAM); dname[dlen] = '\0'; fprintf(stderr, "cmd_dir_create %s\n", dname); if(strchr(dname, '/') != NULL) - tbd_error(TBD_ERROR_INVALID_PARAMETER); + return tbd_error(TBD_ERROR_INVALID_PARAMETER); uint32_t mtime; if(fread(&mtime, sizeof(uint32_t), 1, stream) != 1) - tbd_error(TBD_ERROR_UNABLE_TO_READ_STREAM); + return tbd_error(TBD_ERROR_UNABLE_TO_READ_STREAM); uint32_t uid; if(fread(&uid, sizeof(uint32_t), 1, stream) != 1) - tbd_error(TBD_ERROR_UNABLE_TO_READ_STREAM); + return tbd_error(TBD_ERROR_UNABLE_TO_READ_STREAM); uint32_t gid; if(fread(&gid, sizeof(uint32_t), 1, stream) != 1) - tbd_error(TBD_ERROR_UNABLE_TO_READ_STREAM); + return tbd_error(TBD_ERROR_UNABLE_TO_READ_STREAM); uint32_t mode; if(fread(&mode, sizeof(uint32_t), 1, stream) != 1) - tbd_error(TBD_ERROR_UNABLE_TO_READ_STREAM); + return tbd_error(TBD_ERROR_UNABLE_TO_READ_STREAM); if(mkdir(dname, (mode_t)mode) != 0) - tbd_error(TBD_ERROR_UNABLE_TO_CREATE_DIR); + return tbd_error(TBD_ERROR_UNABLE_TO_CREATE_DIR); // Apply metadata. struct utimbuf timebuff = { time(NULL), mtime }; @@ -117,19 +116,19 @@ tbd_apply_cmd_dir_enter(FILE *stream, { uint16_t dlen; if(fread(&dlen, 2, 1, stream) != 1) - tbd_error(TBD_ERROR_UNABLE_TO_READ_STREAM); + return tbd_error(TBD_ERROR_UNABLE_TO_READ_STREAM); char dname[dlen + 1]; if(fread(dname, 1, dlen, stream) != dlen) - tbd_error(TBD_ERROR_UNABLE_TO_READ_STREAM); + return tbd_error(TBD_ERROR_UNABLE_TO_READ_STREAM); dname[dlen] = '\0'; fprintf(stderr, "cmd_dir_enter %s\n", dname); if((strchr(dname, '/') != NULL) || (strcmp(dname, "..") == 0)) - tbd_error(TBD_ERROR_UNABLE_TO_CHANGE_DIR); + return tbd_error(TBD_ERROR_UNABLE_TO_CHANGE_DIR); if(depth != NULL) (*depth)++; if(chdir(dname) != 0) - tbd_error(TBD_ERROR_UNABLE_TO_CHANGE_DIR); + return tbd_error(TBD_ERROR_UNABLE_TO_CHANGE_DIR); return 0; } @@ -139,17 +138,17 @@ tbd_apply_cmd_dir_leave(FILE *stream, { uint8_t count; if(fread(&count, 1, 1, stream) != 1) - tbd_error(TBD_ERROR_UNABLE_TO_READ_STREAM); + return tbd_error(TBD_ERROR_UNABLE_TO_READ_STREAM); uintptr_t rcount = count + 1; fprintf(stderr, "cmd_dir_leave %"PRIuPTR"\n", rcount); if((depth != NULL) && (*depth < rcount)) - tbd_error(TBD_ERROR_INVALID_PARAMETER); + return tbd_error(TBD_ERROR_INVALID_PARAMETER); uintptr_t i; for(i = 0; i < rcount; i++) { if(chdir("..") != 0) - tbd_error(TBD_ERROR_UNABLE_TO_CHANGE_DIR); + return tbd_error(TBD_ERROR_UNABLE_TO_CHANGE_DIR); } if(depth != NULL) @@ -162,13 +161,13 @@ tbd_apply_cmd_file_create(FILE *stream) { uint16_t flen; if(fread(&flen, 2, 1, stream) != 1) - tbd_error(TBD_ERROR_UNABLE_TO_READ_STREAM); + return tbd_error(TBD_ERROR_UNABLE_TO_READ_STREAM); char fname[flen + 1]; if(fread(fname, 1, flen, stream) != flen) - tbd_error(TBD_ERROR_UNABLE_TO_READ_STREAM); + return tbd_error(TBD_ERROR_UNABLE_TO_READ_STREAM); fname[flen] = '\0'; if((strchr(fname, '/') != NULL) || (strcmp(fname, "..") == 0)) - tbd_error(TBD_ERROR_INVALID_PARAMETER); + return tbd_error(TBD_ERROR_INVALID_PARAMETER); uint32_t mtime; uint32_t mode; @@ -181,19 +180,19 @@ tbd_apply_cmd_file_create(FILE *stream) fread(&uid, sizeof(uint32_t), 1, stream) != 1 || fread(&gid, sizeof(uint32_t), 1, stream) != 1 || fread(&fsize, 4, 1, stream) != 1) - tbd_error(TBD_ERROR_UNABLE_TO_READ_STREAM); + return tbd_error(TBD_ERROR_UNABLE_TO_READ_STREAM); fprintf(stderr, "cmd_file_create %s:%"PRId32"\n", fname, fsize); FILE *fp = fopen(fname, "rb"); if(fp != NULL) { fclose(fp); - tbd_error(TBD_ERROR_FILE_ALREADY_EXISTS); + return tbd_error(TBD_ERROR_FILE_ALREADY_EXISTS); } fp = fopen(fname, "wb"); if(fp == NULL) - tbd_error(TBD_ERROR_UNABLE_TO_OPEN_FILE_FOR_WRITING); + return tbd_error(TBD_ERROR_UNABLE_TO_OPEN_FILE_FOR_WRITING); uintptr_t block = 256; uint8_t fbuff[block]; @@ -201,9 +200,9 @@ tbd_apply_cmd_file_create(FILE *stream) if(fsize < block) block = fsize; if(fread(fbuff, 1, block, stream) != block) - tbd_error(TBD_ERROR_UNABLE_TO_READ_STREAM); + return tbd_error(TBD_ERROR_UNABLE_TO_READ_STREAM); if(fwrite(fbuff, 1, block, fp) != block) - tbd_error(TBD_ERROR_UNABLE_TO_WRITE_STREAM); + return tbd_error(TBD_ERROR_UNABLE_TO_WRITE_STREAM); } fclose(fp); @@ -230,17 +229,17 @@ tbd_apply_cmd_file_delta(FILE *stream) uint32_t mode; uint16_t flen; if(fread(&flen, 2, 1, stream) != 1) - tbd_error(TBD_ERROR_UNABLE_TO_READ_STREAM); + return tbd_error(TBD_ERROR_UNABLE_TO_READ_STREAM); char fname[flen + 1]; if(fread(fname, 1, flen, stream) != flen) - tbd_error(TBD_ERROR_UNABLE_TO_READ_STREAM); + return tbd_error(TBD_ERROR_UNABLE_TO_READ_STREAM); fname[flen] = '\0'; fprintf(stderr, "cmd_file_delta %s\n", fname); if((strchr(fname, '/') != NULL) || (strcmp(fname, "..") == 0)) - tbd_error(TBD_ERROR_INVALID_PARAMETER); + return tbd_error(TBD_ERROR_INVALID_PARAMETER); /* Reading metadata */ if(fread(&mdata_mask, sizeof(uint16_t), 1, stream) != 1 || @@ -248,26 +247,26 @@ tbd_apply_cmd_file_delta(FILE *stream) fread(&uid, sizeof(uint32_t), 1, stream) != 1 || fread(&gid, sizeof(uint32_t), 1, stream) != 1 || fread(&mode, sizeof(uint32_t), 1, stream) != 1) - tbd_error(TBD_ERROR_UNABLE_TO_READ_STREAM); + return tbd_error(TBD_ERROR_UNABLE_TO_READ_STREAM); FILE *op = fopen(fname, "rb"); if(op == NULL) - tbd_error(TBD_ERROR_UNABLE_TO_OPEN_FILE_FOR_READING); + return tbd_error(TBD_ERROR_UNABLE_TO_OPEN_FILE_FOR_READING); if(remove(fname) != 0) { fclose(op); - tbd_error(TBD_ERROR_UNABLE_TO_REMOVE_FILE); + return tbd_error(TBD_ERROR_UNABLE_TO_REMOVE_FILE); } FILE *np = fopen(fname, "wb"); if(np == NULL) { fclose(op); - tbd_error(TBD_ERROR_UNABLE_TO_OPEN_FILE_FOR_WRITING); + return tbd_error(TBD_ERROR_UNABLE_TO_OPEN_FILE_FOR_WRITING); } uint32_t dstart, dend; if(fread(&dstart, 4, 1, stream) != 1) - tbd_error(TBD_ERROR_UNABLE_TO_READ_STREAM); + return tbd_error(TBD_ERROR_UNABLE_TO_READ_STREAM); if(fread(&dend, 4, 1, stream) != 1) - tbd_error(TBD_ERROR_UNABLE_TO_READ_STREAM); + return tbd_error(TBD_ERROR_UNABLE_TO_READ_STREAM); uintptr_t block; uint8_t fbuff[256]; @@ -275,34 +274,34 @@ tbd_apply_cmd_file_delta(FILE *stream) if(dstart < block) block = dstart; if(fread(fbuff, 1, block, op) != block) - tbd_error(TBD_ERROR_UNABLE_TO_READ_STREAM); + return tbd_error(TBD_ERROR_UNABLE_TO_READ_STREAM); if(fwrite(fbuff, 1, block, np) != block) - tbd_error(TBD_ERROR_UNABLE_TO_WRITE_STREAM); + return tbd_error(TBD_ERROR_UNABLE_TO_WRITE_STREAM); } uint32_t fsize; if(fread(&fsize, 4, 1, stream) != 1) - tbd_error(TBD_ERROR_UNABLE_TO_READ_STREAM); + return tbd_error(TBD_ERROR_UNABLE_TO_READ_STREAM); for(block = 256; fsize != 0; fsize -= block) { if(fsize < block) block = fsize; if(fread(fbuff, 1, block, stream) != block) - tbd_error(TBD_ERROR_UNABLE_TO_READ_STREAM); + return tbd_error(TBD_ERROR_UNABLE_TO_READ_STREAM); if(fwrite(fbuff, 1, block, np) != block) - tbd_error(TBD_ERROR_UNABLE_TO_WRITE_STREAM); + return tbd_error(TBD_ERROR_UNABLE_TO_WRITE_STREAM); } if(fseek(op, dend, SEEK_SET) != 0) { fclose(np); fclose(op); - tbd_error(TBD_ERROR_UNABLE_TO_SEEK_THROUGH_STREAM); + return tbd_error(TBD_ERROR_UNABLE_TO_SEEK_THROUGH_STREAM); } for(block = 256; block != 0;) { block = fread(fbuff, 1, block, op); if(fwrite(fbuff, 1, block, np) != block) - tbd_error(TBD_ERROR_UNABLE_TO_WRITE_STREAM); + return tbd_error(TBD_ERROR_UNABLE_TO_WRITE_STREAM); } fclose(np); @@ -329,14 +328,14 @@ tbd_apply_cmd_entity_delete_for_name(const char *name) DIR *dp = opendir(name); if(dp == NULL) { if(remove(name) != 0) - tbd_error(TBD_ERROR_UNABLE_TO_REMOVE_FILE); + return tbd_error(TBD_ERROR_UNABLE_TO_REMOVE_FILE); return 0; } if(chdir(name) != 0) { closedir(dp); - tbd_error(TBD_ERROR_UNABLE_TO_CHANGE_DIR); + return tbd_error(TBD_ERROR_UNABLE_TO_CHANGE_DIR); } struct dirent *entry; @@ -350,7 +349,7 @@ tbd_apply_cmd_entity_delete_for_name(const char *name) closedir(dp); if(chdir("..") != 0) - tbd_error(TBD_ERROR_UNABLE_TO_CHANGE_DIR); + return tbd_error(TBD_ERROR_UNABLE_TO_CHANGE_DIR); return err; } @@ -358,9 +357,9 @@ tbd_apply_cmd_entity_delete_for_name(const char *name) closedir(dp); if(chdir("..") != 0) - tbd_error(TBD_ERROR_UNABLE_TO_CHANGE_DIR); + return tbd_error(TBD_ERROR_UNABLE_TO_CHANGE_DIR); if(remove(name) != 0) - tbd_error(TBD_ERROR_UNABLE_TO_REMOVE_FILE); + return tbd_error(TBD_ERROR_UNABLE_TO_REMOVE_FILE); return 0; } @@ -369,16 +368,16 @@ tbd_apply_cmd_entity_delete(FILE *stream) { uint16_t elen; if(fread(&elen, 2, 1, stream) != 1) - tbd_error(TBD_ERROR_UNABLE_TO_READ_STREAM); + return tbd_error(TBD_ERROR_UNABLE_TO_READ_STREAM); char ename[elen + 1]; if(fread(ename, 1, elen, stream) != elen) - tbd_error(TBD_ERROR_UNABLE_TO_READ_STREAM); + return tbd_error(TBD_ERROR_UNABLE_TO_READ_STREAM); ename[elen] = '\0'; fprintf(stderr, "cmd_entity_delete %s\n", ename); if((strchr(ename, '/') != NULL) || (strcmp(ename, "..") == 0)) - tbd_error(TBD_ERROR_INVALID_PARAMETER); + return tbd_error(TBD_ERROR_INVALID_PARAMETER); return tbd_apply_cmd_entity_delete_for_name(ename); } @@ -393,25 +392,25 @@ tbd_apply_cmd_symlink_create(FILE *stream) if(fread(&mtime, sizeof(uint32_t), 1, stream) != 1 || fread(&uid, sizeof(uint32_t), 1, stream) != 1 || fread(&gid, sizeof(uint32_t), 1, stream) != 1) - tbd_error(TBD_ERROR_UNABLE_TO_READ_STREAM); + return tbd_error(TBD_ERROR_UNABLE_TO_READ_STREAM); /* Reading link file name */ if(fread(&len, sizeof(uint16_t), 1, stream) != 1) - tbd_error(TBD_ERROR_UNABLE_TO_READ_STREAM); + return tbd_error(TBD_ERROR_UNABLE_TO_READ_STREAM); char linkname[len + 1]; linkname[len] = '\0'; if(fread(linkname, sizeof(char), len, stream) != len) - tbd_error(TBD_ERROR_UNABLE_TO_READ_STREAM); + return tbd_error(TBD_ERROR_UNABLE_TO_READ_STREAM); /* Reading target path */ if(fread(&len, sizeof(uint16_t), 1, stream) != 1) - tbd_error(TBD_ERROR_UNABLE_TO_READ_STREAM); + return tbd_error(TBD_ERROR_UNABLE_TO_READ_STREAM); char linkpath[len+1]; linkpath[len] = '\0'; if(fread(linkpath, sizeof(char), len, stream) != len) - tbd_error(TBD_ERROR_UNABLE_TO_READ_STREAM); + return tbd_error(TBD_ERROR_UNABLE_TO_READ_STREAM); fprintf(stderr, "cmd_symlink_create %s -> %s\n", linkname, linkpath); @@ -447,7 +446,7 @@ tbd_apply_cmd_special_create(FILE *stream) fread(&gid, sizeof(uint32_t), 1, stream) != 1 || fread(&dev, sizeof(uint32_t), 1, stream) != 1) { free(name); - tbd_error(TBD_ERROR_UNABLE_TO_READ_STREAM); + return tbd_error(TBD_ERROR_UNABLE_TO_READ_STREAM); } fprintf(stderr, "cmd_special_create %s\n", name); @@ -482,12 +481,12 @@ tbd_apply_cmd_dir_delta(FILE *stream) fread(&uid, sizeof(uint32_t), 1, stream) != 1 || fread(&gid, sizeof(uint32_t), 1, stream) != 1 || fread(&mode, sizeof(uint32_t), 1, stream) != 1) - tbd_error(TBD_ERROR_UNABLE_TO_READ_STREAM); + return tbd_error(TBD_ERROR_UNABLE_TO_READ_STREAM); int ret; char *dname = tbd_apply_fread_string(stream); if(dname == NULL) - tbd_error(TBD_ERROR_UNABLE_TO_READ_STREAM); + return tbd_error(TBD_ERROR_UNABLE_TO_READ_STREAM); fprintf(stderr, "cmd_dir_delta %s\n", dname); @@ -518,12 +517,12 @@ tbd_apply_cmd_file_mdata_update(FILE *stream) fread(&uid, sizeof(uint32_t), 1, stream) != 1 || fread(&gid, sizeof(uint32_t), 1, stream) != 1 || fread(&mode, sizeof(uint32_t), 1, stream) != 1) - tbd_error(TBD_ERROR_UNABLE_TO_READ_STREAM); + return tbd_error(TBD_ERROR_UNABLE_TO_READ_STREAM); int ret; char *dname = tbd_apply_fread_string(stream); if(dname == NULL) - tbd_error(TBD_ERROR_UNABLE_TO_READ_STREAM); + return tbd_error(TBD_ERROR_UNABLE_TO_READ_STREAM); fprintf(stderr, "cmd_metadata_update %s\n", dname); @@ -544,7 +543,7 @@ int tbd_apply(FILE *stream) { if(stream == NULL) - tbd_error(TBD_ERROR_NULL_POINTER); + return tbd_error(TBD_ERROR_NULL_POINTER); int err; if((err = tbd_apply_identify(stream)) != 0) @@ -555,7 +554,7 @@ tbd_apply(FILE *stream) while(!flush) { uint8_t cmd; if(fread(&cmd, 1, 1, stream) != 1) - tbd_error(TBD_ERROR_UNABLE_TO_READ_STREAM); + return tbd_error(TBD_ERROR_UNABLE_TO_READ_STREAM); switch(cmd) { case TBD_CMD_DIR_CREATE: if((err = tbd_apply_cmd_dir_create(stream)) != 0) @@ -595,7 +594,7 @@ tbd_apply(FILE *stream) break; case TBD_CMD_ENTITY_MOVE: case TBD_CMD_ENTITY_COPY: - tbd_error(TBD_ERROR_FEATURE_NOT_IMPLEMENTED); // TODO - Implement. + return tbd_error(TBD_ERROR_FEATURE_NOT_IMPLEMENTED); // TODO - Implement. case TBD_CMD_ENTITY_DELETE: if((err = tbd_apply_cmd_entity_delete(stream)) != 0) return err; @@ -605,7 +604,7 @@ tbd_apply(FILE *stream) break; default: fprintf(stderr, "Error: Invalid command 0x%02"PRIx8".\n", cmd); - tbd_error(TBD_ERROR_INVALID_PARAMETER); + return tbd_error(TBD_ERROR_INVALID_PARAMETER); } } |