The -i option can only be used once. Current logic is to error with " **** too many file arguments" if the number of uses reaches MAXFILEC, set to 2 in both common.h and patch.c.
diff --git a/usr.bin/patch/patch.1 b/usr.bin/patch/patch.1 index 8d915b87287..1aa66bf8c1b 100644 --- a/usr.bin/patch/patch.1 +++ b/usr.bin/patch/patch.1 @@ -168,7 +168,6 @@ for that. .Xc Causes the next argument to be interpreted as the input file name (i.e. a patchfile). -This option may be specified multiple times. .It Fl l , Fl Fl ignore-whitespace Causes the pattern matching to be done loosely, in case the tabs and spaces have been munged in your input file.