diff: don't force the format to 'context' with -p immediately
Instead, leave the fomat as unspecified (if it hasn't been) and use the -p flag as a hint to 'context' if no other formatting option is specified. This fixes `diff -purw`, used frequently by emaste, and matches the behavior of its GNU counterpart. PR: 250015 Reviewed by: emaste MFC after: 1 week
This commit is contained in:
parent
1f474190fc
commit
b0d30b27f0
@ -210,17 +210,6 @@ main(int argc, char **argv)
|
|||||||
diff_format = D_NREVERSE;
|
diff_format = D_NREVERSE;
|
||||||
break;
|
break;
|
||||||
case 'p':
|
case 'p':
|
||||||
/*
|
|
||||||
* If it's not unset and it's not set to context or
|
|
||||||
* unified, we'll error out here as a conflicting
|
|
||||||
* format. If it's unset, we'll go ahead and set it to
|
|
||||||
* context.
|
|
||||||
*/
|
|
||||||
if (FORMAT_MISMATCHED(D_CONTEXT) &&
|
|
||||||
FORMAT_MISMATCHED(D_UNIFIED))
|
|
||||||
conflicting_format();
|
|
||||||
if (diff_format == D_UNSET)
|
|
||||||
diff_format = D_CONTEXT;
|
|
||||||
dflags |= D_PROTOTYPE;
|
dflags |= D_PROTOTYPE;
|
||||||
break;
|
break;
|
||||||
case 'P':
|
case 'P':
|
||||||
@ -320,6 +309,8 @@ main(int argc, char **argv)
|
|||||||
newarg = optind != prevoptind;
|
newarg = optind != prevoptind;
|
||||||
prevoptind = optind;
|
prevoptind = optind;
|
||||||
}
|
}
|
||||||
|
if (diff_format == D_UNSET && (dflags & D_PROTOTYPE) != 0)
|
||||||
|
diff_format = D_CONTEXT;
|
||||||
if (diff_format == D_UNSET)
|
if (diff_format == D_UNSET)
|
||||||
diff_format = D_NORMAL;
|
diff_format = D_NORMAL;
|
||||||
argc -= optind;
|
argc -= optind;
|
||||||
|
Loading…
Reference in New Issue
Block a user