From b32aa0c274ee7fec286b5355c6c9a9d084e657f8 Mon Sep 17 00:00:00 2001 From: Matheus Izvekov Date: Mon, 18 Jan 2010 18:40:02 -0200 Subject: [PATCH] diff: support long options >>From 7b74284ebe6222cb714c37cdbb94633965f29e9b Mon Sep 17 00:00:00 2001 From: Matheus Izvekov Date: Mon, 18 Jan 2010 18:36:52 -0200 Subject: [PATCH] diff: support long options Signed-off-by: Matheus Izvekov Signed-off-by: Denys Vlasenko --- editors/Config.in | 7 +++++++ editors/diff.c | 25 +++++++++++++++++++++++++ 2 files changed, 32 insertions(+) diff --git a/editors/Config.in b/editors/Config.in index e1285f4ea..e4fdd0f38 100644 --- a/editors/Config.in +++ b/editors/Config.in @@ -35,6 +35,13 @@ config DIFF differences between them in a form that can be given to the patch command. +config FEATURE_DIFF_LONG_OPTIONS + bool "Enable long options" + default n + depends on DIFF && LONG_OPTS + help + Enable use of long options. + config FEATURE_DIFF_DIR bool "Enable directory support" default y diff --git a/editors/diff.c b/editors/diff.c index 772610477..9d0373f93 100644 --- a/editors/diff.c +++ b/editors/diff.c @@ -876,6 +876,28 @@ static void diffdir(char *p[2], const char *s_start) } #endif +#if ENABLE_FEATURE_DIFF_LONG_OPTIONS +static const char diff_longopts[] ALIGN1 = + "ignore-case\0" No_argument "i" + "ignore-tab-expansion\0" No_argument "E" + "ignore-space-change\0" No_argument "b" + "ignore-all-space\0" No_argument "w" + "ignore-blank-lines\0" No_argument "B" + "text\0" No_argument "a" + "unified\0" Required_argument "U" + "label\0" Required_argument "L" + "show-c-function\0" No_argument "p" + "brief\0" No_argument "q" + "expand-tabs\0" No_argument "t" + "initial-tab\0" No_argument "T" + "recursive\0" No_argument "r" + "new-file\0" No_argument "N" + "report-identical-files\0" No_argument "s" + "starting-file\0" Required_argument "S" + "minimal\0" No_argument "d" + ; +#endif + int diff_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE; int diff_main(int argc UNUSED_PARAM, char **argv) { @@ -887,6 +909,9 @@ int diff_main(int argc UNUSED_PARAM, char **argv) /* exactly 2 params; collect multiple -L