Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=55859
-- v3: net: Accept yes/no switches
From: Fabian Maurer dark.shadow4@web.de
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=55859 --- programs/net/net.c | 26 ++++++++++++++++++++++++++ programs/net/net.rc | 1 + programs/net/resources.h | 1 + 3 files changed, 28 insertions(+)
diff --git a/programs/net/net.c b/programs/net/net.c index 758c667dd49..12164960d43 100644 --- a/programs/net/net.c +++ b/programs/net/net.c @@ -291,6 +291,32 @@ static BOOL arg_is(const WCHAR* str1, const WCHAR* str2)
int __cdecl wmain(int argc, const WCHAR* argv[]) { + BOOL switch_yes = FALSE; + BOOL switch_no = FALSE; + const WCHAR **arguments; + int arguments_count = 1; + int i; + + arguments = calloc(argc + 1, sizeof(WCHAR*)); /* +1 to null terminate new argv */ + arguments[0] = argv[0]; + for (i = 1; i < argc; i++) + { + if (arg_is(argv[i], L"/y") || arg_is(argv[i], L"/ye") || arg_is(argv[i], L"/yes")) + switch_yes = TRUE; + else if (arg_is(argv[i], L"/n") || arg_is(argv[i], L"/no")) + switch_no = TRUE; + else + arguments[arguments_count++] = argv[i]; + } + + if (switch_yes && switch_no) + { + output_string(STRING_CONFLICT_SWITCHES); + return 1; + } + argv = arguments; + argc = arguments_count; + if (argc < 2) { output_string(STRING_USAGE); diff --git a/programs/net/net.rc b/programs/net/net.rc index d9c918328d1..c404a67061b 100644 --- a/programs/net/net.rc +++ b/programs/net/net.rc @@ -40,6 +40,7 @@ STRINGTABLE STRING_STOP_SVC_SUCCESS, "The %1 service was stopped successfully.\n" STRING_STOP_SVC_FAIL, "The %1 service failed to stop.\n" STRING_RUNNING_HEADER, "The following services are running:\n" + STRING_CONFLICT_SWITCHES, "A command was used with conflicting switches.\n" STRING_NO_ENTRIES, "There are no entries in the list.\n" STRING_USE_HEADER, "\nStatus Local Remote\n---------------------------------------------------------------\n" STRING_USE_ENTRY, "%1 %2 %3 Open resources: %4!u!\n" diff --git a/programs/net/resources.h b/programs/net/resources.h index ad7214206d1..fb14a6542fe 100644 --- a/programs/net/resources.h +++ b/programs/net/resources.h @@ -41,3 +41,4 @@ #define STRING_CONN 122 #define STRING_RECONN 123 #define STRING_RUNNING_HEADER 124 +#define STRING_CONFLICT_SWITCHES 125