Received: by 2002:a05:6a10:206:0:0:0:0 with SMTP id 6csp4960935pxj; Wed, 12 May 2021 17:50:02 -0700 (PDT) X-Google-Smtp-Source: ABdhPJyuDBsWKRVhP7JX4teYVutMjj4z6euRGY8Jo41N8FiRufL14n89sfse9FxG78bPshd9JAkd X-Received: by 2002:aa7:c143:: with SMTP id r3mr36537504edp.329.1620867002645; Wed, 12 May 2021 17:50:02 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1620867002; cv=none; d=google.com; s=arc-20160816; b=zZSNB0rpQrDbQsgN5D0eSSFjCKJ/btmHf5Jdw/rqgjiYomMEM8Hn9Ycg2+t6LAu7SB 8YpInnInsmcGFpGRwEJQyvwk12UTOXTVNTlCxnMYgF/8NgWtnFFnzAmP+79JIYyUjrjJ GyXJ8Pl3qxNlO8xw6ZJLGCYK8Egv5JTtkTuP5DLck/RzX639Yja6qw5a+Qf7Sh+NKgIC TtSZher15d19Qpku/S0Ht11mnh+paisk1xZjJ5vuWnRzOh8NMI6KiQSHP1WTGYQ0E+TP PPPcLXnqcWsBLvygq9KNMykVMsbscSzyA2tmdTdm96nGCTDCF9Tj36dturfSjgQ1kmZw RHIw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :message-id:date:subject:cc:to:from:ironport-sdr:ironport-sdr; bh=hpXYGnW1q7brlc394vVlxBf9+4spEhlRVKMaEYIcrF0=; b=R0diTq6jxmhhvXQVriE500vgB4W31CaSgPJjCOueTbXNYB/qPBr2fGoWrEmHtpyQke 0bHj4KfbXwMiWBYymfHmvhPL/7zJ73r0ScQfrs9vnz3D4lGWvhQtInxaYwyrwTpGNdo1 mDzJBA0vpvGMeLFg2walPz6/StHh0dfosRoO0VjJqr7cuPAEeFl2tWh3OlaSEyGN5SFe ZFx39scA5LM5bAB27QmHRMxD0Ix6QqtnjI6+ur8BSz2r9CRXc8iPqtYQJMxZJ2FFA2Rk iw1qXdLBLNDDpK4NflPP6LQJ60OJ4hsxDdvxrKXOm6rJXlTDIUsvMHLuX/Fg4PeVmjnZ qpQA== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-bluetooth-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-bluetooth-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=intel.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id jv3si1463952ejc.392.2021.05.12.17.49.39; Wed, 12 May 2021 17:50:02 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-bluetooth-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-bluetooth-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-bluetooth-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S234240AbhEMArL (ORCPT + 99 others); Wed, 12 May 2021 20:47:11 -0400 Received: from mga05.intel.com ([192.55.52.43]:60845 "EHLO mga05.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1345535AbhEMAqv (ORCPT ); Wed, 12 May 2021 20:46:51 -0400 IronPort-SDR: ZTY4aglVU43ZyFnnElfL1MNAOy/ruGRTDeV9t3P3K6/P06VQBgK4HK22ceksMBP92srk792Ci2 mJY1PoRHwirQ== X-IronPort-AV: E=McAfee;i="6200,9189,9982"; a="285341982" X-IronPort-AV: E=Sophos;i="5.82,295,1613462400"; d="scan'208";a="285341982" Received: from fmsmga006.fm.intel.com ([10.253.24.20]) by fmsmga105.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 12 May 2021 17:39:18 -0700 IronPort-SDR: 9dTMm1KKhnLv0ijM/aKMA2o3EOHEmQ3HmADHiwHdpa1rdjW8KOonG9R8e0NWwY1sjqKxQ7DlqC Yy85gL2BUHjg== X-IronPort-AV: E=Sophos;i="5.82,295,1613462400"; d="scan'208";a="623015197" Received: from scmahvi-mobl.amr.corp.intel.com (HELO istotlan-desk.intel.com) ([10.254.1.126]) by fmsmga006-auth.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 12 May 2021 17:39:16 -0700 From: Inga Stotland To: linux-bluetooth@vger.kernel.org Cc: Inga Stotland Subject: [PATCH BlueZ] shared/shell: Print help info for individual commands Date: Wed, 12 May 2021 17:39:09 -0700 Message-Id: <20210513003909.104379-1-inga.stotland@intel.com> X-Mailer: git-send-email 2.26.3 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-bluetooth@vger.kernel.org For menus with long list of entries, it is useful to be able invoke help message for an individual entry to look up command description and synopsis. Can be invoked by entering " help" or " --help". --- src/shared/shell.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/shared/shell.c b/src/shared/shell.c index c0de1640d..07eaa1702 100644 --- a/src/shared/shell.c +++ b/src/shared/shell.c @@ -352,6 +352,16 @@ static int cmd_exec(const struct bt_shell_menu_entry *entry, int flags = WRDE_NOCMD; bool optargs = false; + if (argc == 2 && (!memcmp(argv[1], "help", 4) || + !memcmp(argv[1], "--help", 6))) { + printf("%s\n", entry->desc); + printf(COLOR_HIGHLIGHT "Usage:" COLOR_OFF "\n"); + printf("\t %s %-*s\n", entry->cmd, + (int)(CMD_LENGTH - strlen(entry->cmd)), + !entry->arg ? "" : entry->arg); + return 0; + } + if (!entry->arg || entry->arg[0] == '\0') { if (argc > 1) { print_text(COLOR_HIGHLIGHT, "Too many arguments"); -- 2.26.3