libbb: move nuke_str() from passwd into libbb
[oweals/busybox.git] / editors / patch.c
index 1f2a49b66368240f89f7b077d17051d0bf3294a4..13785ef460ab45821ac6451119255707709b1a21 100644 (file)
@@ -474,19 +474,21 @@ int patch_main(int argc UNUSED_PARAM, char **argv)
 
                                // We're deleting oldname if new file is /dev/null (before -p)
                                // or if new hunk is empty (zero context) after patching
-                               if (!strcmp(name, "/dev/null") || !(reverse ? oldsum : newsum))
-                               {
+                               if (!strcmp(name, "/dev/null") || !(reverse ? oldsum : newsum)) {
                                        name = reverse ? newname : oldname;
                                        empty++;
                                }
 
                                // handle -p path truncation.
-                               for (i=0, s = name; *s;) {
-                                       if ((option_mask32 & FLAG_PATHLEN) && TT.prefix == i) break;
-                                       if (*(s++)=='/') {
-                                               name = s;
-                                               i++;
-                                       }
+                               for (i = 0, s = name; *s;) {
+                                       if ((option_mask32 & FLAG_PATHLEN) && TT.prefix == i)
+                                               break;
+                                       if (*s++ != '/')
+                                               continue;
+                                       while (*s == '/')
+                                               s++;
+                                       i++;
+                                       name = s;
                                }
 
                                if (empty) {