From patchwork Sat Sep 3 08:52:36 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Mathias Kresin X-Patchwork-Id: 665411 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from bombadil.infradead.org (bombadil.infradead.org [IPv6:2001:1868:205::9]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 3sR8vj1LSjz9s5w for ; Sat, 3 Sep 2016 18:55:13 +1000 (AEST) Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=kresin-me.20150623.gappssmtp.com header.i=@kresin-me.20150623.gappssmtp.com header.b=GQjQ8YxR; dkim-atps=neutral Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.85_2 #1 (Red Hat Linux)) id 1bg6hd-0003Bc-3i; Sat, 03 Sep 2016 08:53:29 +0000 Received: from mail-wm0-x242.google.com ([2a00:1450:400c:c09::242]) by bombadil.infradead.org with esmtps (Exim 4.85_2 #1 (Red Hat Linux)) id 1bg6hR-000363-V3 for lede-dev@lists.infradead.org; Sat, 03 Sep 2016 08:53:20 +0000 Received: by mail-wm0-x242.google.com with SMTP id i138so5788278wmf.3 for ; Sat, 03 Sep 2016 01:52:57 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kresin-me.20150623.gappssmtp.com; s=20150623; h=from:to:subject:date:message-id; bh=p0QuC2r9Rv3DlFHb9ZJX5OJY/q4i0vv5SkfFu1SzUwU=; b=GQjQ8YxRy1unAkP68ozLSbp0ffvEjEaY2IKZMLtzrYCHpalE0woIlEzgHSrxI1OVq0 FcHVzCdAKJ/8EbE02Fo+Qam8TT2E1EJh2CTvNdfJGO8bKp61E1m85tkTRhLqkWMUAQ6E Mb+6aBMb17kQx8cb48bUBLUwt6KnXvGACcfm2QRD3fsCT49vlDdt9Bfivt1Nd50c5qih QJHct/Kmi2BB13qpu+0Xf4zEYT7XFp2KsZBA9h6KQaqorYrhxUckkK1LSerXUx3FWqyV KcE1GFmNizuZDPW5q6IsxsyqjBXHufDfAIG7BJAqq6EgP/XXXa0P9d8IrNpGbS90F8l5 6aWw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:from:to:subject:date:message-id; bh=p0QuC2r9Rv3DlFHb9ZJX5OJY/q4i0vv5SkfFu1SzUwU=; b=K4hNQuxKdc2i2XaMs9sUQXo5Vpi3eUz3uHQ++B1tWThjKq7NodDXCv8+cnYk8eMm/O s26ZEOZpp3ua/8uuOFRT0CxikUsr2MLUHrlUuu5CqpwqZC1/9MCrH7VtHstUCIsSlK9+ OFZ8yeA46R+ix390uJkysC/pV9ttIGuykO8k8Rk7FRDNaPmI7ufRnPWEoAib8uINgLUY 0Q/0Xz0DyyHaBO6X7R34Jryf9+d4OoVdjOtGk8PpvOByj0gUH8cjProBdl60YYeAZnFn 3sZ819hIkpVkdf1mpNKIc/3LMN1rEHwJy5xzUodsynpJV1gXpVzDsEPN5zLYt6ks2l8j Ngbw== X-Gm-Message-State: AE9vXwPc4cYrsar3FW9ylV+Wv5EORpI6ZrKYXaRS7a1i6sJo7W0k6gPgVyEN3kDzEMgyuQ== X-Received: by 10.194.148.81 with SMTP id tq17mr25646409wjb.67.1472892775534; Sat, 03 Sep 2016 01:52:55 -0700 (PDT) Received: from desktop.wvd.kresin.me (p200300454B7EFA00E07F45DF541F4735.dip0.t-ipconnect.de. [2003:45:4b7e:fa00:e07f:45df:541f:4735]) by smtp.gmail.com with ESMTPSA id ce6sm14407943wjc.27.2016.09.03.01.52.54 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Sat, 03 Sep 2016 01:52:54 -0700 (PDT) From: Mathias Kresin To: lede-dev@lists.infradead.org Date: Sat, 3 Sep 2016 10:52:36 +0200 Message-Id: <1472892762-20216-1-git-send-email-dev@kresin.me> X-Mailer: git-send-email 2.7.4 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20160903_015318_324389_E317AD1A X-CRM114-Status: UNSURE ( 9.64 ) X-CRM114-Notice: Please train this message. X-Spam-Score: -2.6 (--) X-Spam-Report: SpamAssassin version 3.4.0 on bombadil.infradead.org summary: Content analysis details: (-2.6 points) pts rule name description ---- ---------------------- -------------------------------------------------- -0.7 RCVD_IN_DNSWL_LOW RBL: Sender listed at http://www.dnswl.org/, low trust [2a00:1450:400c:c09:0:0:0:242 listed in] [list.dnswl.org] -1.9 BAYES_00 BODY: Bayes spam probability is 0 to 1% [score: 0.0000] -0.1 DKIM_VALID Message has at least one valid DKIM or DK signature 0.1 DKIM_SIGNED Message has a DKIM or DK signature, not necessarily valid Subject: [LEDE-DEV] [RFC 1/7] firmware-utils: mksenaofw: rework option validation X-BeenThere: lede-dev@lists.infradead.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Sender: "Lede-dev" Errors-To: lede-dev-bounces+incoming=patchwork.ozlabs.org@lists.infradead.org The options firmware_type, vendor_id and product_id are not required for decoding an image file. Signed-off-by: Mathias Kresin --- tools/firmware-utils/src/mksenaofw.c | 41 +++++++++++++++++++----------------- 1 file changed, 22 insertions(+), 19 deletions(-) diff --git a/tools/firmware-utils/src/mksenaofw.c b/tools/firmware-utils/src/mksenaofw.c index 7ea58f5..0f10ebd 100644 --- a/tools/firmware-utils/src/mksenaofw.c +++ b/tools/firmware-utils/src/mksenaofw.c @@ -385,33 +385,36 @@ int main(int argc, char *argv[]) } } - /* Check required arguments*/ - if (header.firmware_type == 0) { - fprintf(stderr, "Firmware type must be defined\n"); + /* Check required arguments */ + if (mode == NONE) { + fprintf(stderr, "A mode must be defined\n"); usage(progname, EXIT_FAILURE); - } else if (input_file == 0 || output_file == 0) { + } + + if (input_file == NULL || output_file == NULL) { fprintf(stderr, "Input and output files must be defined\n"); usage(progname, EXIT_FAILURE); - } else if (header.vendor_id == 0 || header.product_id == 0) { - fprintf(stderr, "Vendor ID and Product ID must be defined and non-zero\n"); + } + + if (mode == DECODE) { + if (decode_image(input_file, output_file) < 0) + return EXIT_FAILURE; + + return EXIT_SUCCESS; + } + + if (header.firmware_type == 0) { + fprintf(stderr, "Firmware type must be defined\n"); usage(progname, EXIT_FAILURE); } - switch (mode) { - case NONE: - fprintf(stderr, "A mode must be defined\n"); + if (header.vendor_id == 0 || header.product_id == 0) { + fprintf(stderr, "Vendor ID and Product ID must be defined and non-zero\n"); usage(progname, EXIT_FAILURE); - break; - case ENCODE: - if (encode_image(input_file, output_file, &header, pad ? block_size : 0) - < 0) - return EXIT_FAILURE; - break; - case DECODE: - if (decode_image(input_file, output_file) < 0) - return EXIT_FAILURE; - break; } + if (encode_image(input_file, output_file, &header, pad ? block_size : 0) < 0) + return EXIT_FAILURE; + return EXIT_SUCCESS; }