From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server-vie001.gnuweeb.org X-Spam-Level: X-Spam-Status: No, score=-1.2 required=5.0 tests=ALL_TRUSTED,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,URIBL_DBL_BLOCKED_OPENDNS, URIBL_ZEN_BLOCKED_OPENDNS autolearn=ham autolearn_force=no version=3.4.6 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gnuweeb.org; s=new2025; t=1753921653; bh=ELA99PR+4RYYTjokubc/qPHJgHsaxzfHiBQ0sS44A4c=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version:Content-Transfer-Encoding:Message-ID:Date:From: Reply-To:Subject:To:Cc:In-Reply-To:References:Resent-Date: Resent-From:Resent-To:Resent-Cc:User-Agent:Content-Type: Content-Transfer-Encoding; b=pEwJ1r5Aekfv85QfI2XqaZiEE9fvax6XxgJqwOxoOuQmMwAiK9A5c8ZzaJgVjFAZL Lt22TWLIoj4ewdULrm0DQ6//7LXnAasKrHK0fc5DyeFZvRZ9iQ8bK4pS6uo7+KKj2I gkcS/j5a2DLuNOkAgXJ7wXvdFPKrhr1MctTyl9xgm7YnF6lN0CynhaPQveNlgLxdwC AukXS+sUrsYT8TC8VQWQ1ylPINcDBxzL0zftNzOPFVYNZpAldZkv7TohY2JuRGoQwj 815fslYvTQ7XGp2gBh6l8GLYAm7OkU3kifAC0xd2EtKT3lzqx/VLkl16ckDyg/5Caz AyYQ8ocDzLaGA== Received: from localhost.localdomain (unknown [68.183.184.174]) by server-vie001.gnuweeb.org (Postfix) with ESMTPSA id BA6DE3126ECB; Thu, 31 Jul 2025 00:27:32 +0000 (UTC) From: Alviro Iskandar Setiawan To: Ammar Faizi Cc: Alviro Iskandar Setiawan , GNU/Weeb Mailing List Subject: [PATCH gwproxy v1 2/2] gwproxy: Show help on invalid parameter Date: Thu, 31 Jul 2025 07:27:24 +0700 Message-Id: <20250731002724.294967-3-alviro.iskandar@gnuweeb.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20250731002724.294967-1-alviro.iskandar@gnuweeb.org> References: <20250731002724.294967-1-alviro.iskandar@gnuweeb.org> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit List-Id: When gwproxy is run with a zero argument (or argc=1), it doesn't show a helpful message, just like this: Error: --target is required unless --as-socks5 is specified. Show the help when the argument is invalid to let new users get better experience. Signed-off-by: Alviro Iskandar Setiawan --- src/gwproxy/gwproxy.c | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/src/gwproxy/gwproxy.c b/src/gwproxy/gwproxy.c index c5283a9..dac9903 100644 --- a/src/gwproxy/gwproxy.c +++ b/src/gwproxy/gwproxy.c @@ -230,25 +230,30 @@ static int parse_options(int argc, char *argv[], struct gwp_cfg *cfg) if (!cfg->as_socks5 && !cfg->target) { fprintf(stderr, "Error: --target is required unless --as-socks5 is specified.\n"); - return -EINVAL; + goto einval; } if (cfg->nr_workers <= 0) { fprintf(stderr, "Error: --nr-workers must be at least 1.\n"); - return -EINVAL; + goto einval; } if (cfg->target_buf_size <= 1) { fprintf(stderr, "Error: --target-buf-size must be greater than 1.\n"); - return -EINVAL; + goto einval; } if (cfg->client_buf_size <= 1) { fprintf(stderr, "Error: --client-buf-size must be greater than 1.\n"); - return -EINVAL; + goto einval; } return 0; + +einval: + fprintf(stderr, "\n"); + show_help(argv[0]); + return -EINVAL; } #define FULL_ADDRSTRLEN (INET6_ADDRSTRLEN + sizeof(":65535[]") - 1) -- Alviro Iskandar Setiawan