revert last change (wrong author)
No binary (build failed)
—
(log yok)
| @@ -17,6 +17,7 @@ | |
| * -o outfile output here instead of in place | |
| * -r rejectfile write rejected hunks to this file | |
| * | |
| + | * -E remove empty files --remove-empty-files |
| * -f force (no questions asked) | |
| * -F fuzz (number, default 2) | |
| * [file] which file to patch | |
| @@ -41,7 +42,7 @@ config PATCH | |
| hunks to stderr, and exits with nonzero status if any hunks fail. | |
| A file compared against /dev/null (or with a date <= the epoch) is | |
| - | created or deleted if -E or --remove-empty-files set. |
| + | created/deleted as appropriate. |
| */ | |
| #include "libbb.h" | |
| @@ -242,16 +243,15 @@ struct globals { | |
| } while (0) | |
| - | #define FLAG_STR "Rup:i:NEx" |
| + | #define FLAG_STR "Rup:i:Nx" |
| /* FLAG_REVERSE must be == 1! Code uses this fact. */ | |
| #define FLAG_REVERSE (1 << 0) | |
| #define FLAG_u (1 << 1) | |
| #define FLAG_PATHLEN (1 << 2) | |
| #define FLAG_INPUT (1 << 3) | |
| #define FLAG_IGNORE (1 << 4) | |
| - | #define FLAG_RMEMPTY (1 << 5) |
| //non-standard: | |
| - | #define FLAG_DEBUG (1 << 6) |
| + | #define FLAG_DEBUG (1 << 5) |
| // Dispose of a line of input, either by writing it out or discarding it. | |
| @@ -551,7 +551,7 @@ int patch_main(int argc UNUSED_PARAM, char **argv) | |
| // If this is the first hunk, open the file. | |
| if (TT.filein == -1) { | |
| - | int oldsum, newsum, empty = 0; |
| + | int oldsum, newsum, del = 0; |
| char *name; | |
| oldsum = TT.oldline + TT.oldlen; | |
| @@ -564,7 +564,7 @@ int patch_main(int argc UNUSED_PARAM, char **argv) | |
| if (!strcmp(name, "/dev/null") || !(reverse ? oldsum : newsum)) | |
| { | |
| name = reverse ? newname : oldname; | |
| - | empty++; |
| + | del++; |
| } | |
| // handle -p path truncation. | |
| @@ -576,17 +576,10 @@ int patch_main(int argc UNUSED_PARAM, char **argv) | |
| } | |
| } | |
| - | if (empty) { |
| - | // File is empty after the patches have been applied |
| + | if (del) { |
| + | printf("removing %s\n", name); |
| + | xunlink(name); |
| state = 0; | |
| - | if (option_mask32 & FLAG_RMEMPTY) { |
| - | // If flag -E or --remove-empty-files is set |
| - | printf("removing %s\n", name); |
| - | xunlink(name); |
| - | } else { |
| - | printf("patching file %s\n", name); |
| - | xclose(xopen(name, O_WRONLY | O_TRUNC)); |
| - | } |
| // If we've got a file to open, do so. | |
| } else if (!(option_mask32 & FLAG_PATHLEN) || i <= TT.prefix) { | |
| // If the old file was null, we're creating a new one. | |
| @@ -2857,19 +2857,17 @@ INSERT | |
| "[OPTIONS] [ORIGFILE [PATCHFILE]]" | |
| #define patch_full_usage "\n\n" \ | |
| IF_LONG_OPTS( \ | |
| - | " -p,--strip N Strip N leading components from file names" \ |
| - | "\n -i,--input DIFF Read DIFF instead of stdin" \ |
| - | "\n -R,--reverse Reverse patch" \ |
| - | "\n -N,--forward Ignore already applied patches" \ |
| - | "\n --dry-run Don't actually change files" \ |
| - | "\n -E,--remove-empty-files Remove output files if they become empty" \ |
| + | " -p,--strip N Strip N leading components from file names" \ |
| + | "\n -i,--input DIFF Read DIFF instead of stdin" \ |
| + | "\n -R,--reverse Reverse patch" \ |
| + | "\n -N,--forward Ignore already applied patches" \ |
| + | "\n --dry-run Don't actually change files" \ |
| ) \ | |
| IF_NOT_LONG_OPTS( \ | |
| " -p N Strip N leading components from file names" \ | |
| "\n -i DIFF Read DIFF instead of stdin" \ | |
| "\n -R Reverse patch" \ | |
| "\n -N Ignore already applied patches" \ | |
| - | "\n -E Remove output files if they become empty" \ |
| ) | |
| #define patch_example_usage \ | |