From owner-svn-src-all@FreeBSD.ORG Thu Aug 27 17:32:59 2009 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 261881065690; Thu, 27 Aug 2009 17:32:59 +0000 (UTC) (envelope-from sam@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 158388FC1C; Thu, 27 Aug 2009 17:32:59 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n7RHWw8k003106; Thu, 27 Aug 2009 17:32:58 GMT (envelope-from sam@svn.freebsd.org) Received: (from sam@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n7RHWwDQ003104; Thu, 27 Aug 2009 17:32:58 GMT (envelope-from sam@svn.freebsd.org) Message-Id: <200908271732.n7RHWwDQ003104@svn.freebsd.org> From: Sam Leffler Date: Thu, 27 Aug 2009 17:32:58 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r196599 - head/tools/tools/ath/athpoke X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 27 Aug 2009 17:32:59 -0000 Author: sam Date: Thu Aug 27 17:32:58 2009 New Revision: 196599 URL: http://svn.freebsd.org/changeset/base/196599 Log: recognie invalid register names Modified: head/tools/tools/ath/athpoke/athpoke.c Modified: head/tools/tools/ath/athpoke/athpoke.c ============================================================================== --- head/tools/tools/ath/athpoke/athpoke.c Thu Aug 27 17:26:09 2009 (r196598) +++ head/tools/tools/ath/athpoke/athpoke.c Thu Aug 27 17:32:58 2009 (r196599) @@ -39,6 +39,8 @@ #include #include #include +#include +#include typedef struct { HAL_REVS revs; @@ -64,6 +66,7 @@ main(int argc, char *argv[]) { struct ath_diag atd; const char *ifname; + char *eptr; int c, s; s = socket(AF_INET, SOCK_DGRAM, 0); @@ -102,7 +105,13 @@ main(int argc, char *argv[]) if (cp != NULL) *cp++ = '\0'; dr = reglookup(argv[0]); - reg = (dr != NULL) ? dr->addr : (uint32_t) strtoul(argv[0], NULL, 0); + if (dr == NULL) { + errno = 0; + reg = (uint32_t) strtoul(argv[0], &eptr, 0); + if (argv[0] == eptr || eptr[0] != '\0') + errx(1, "invalid register \"%s\"", argv[0]); + } else + reg = dr->addr; if (cp != NULL) regwrite(s, &atd, reg, (uint32_t) strtoul(cp, NULL, 0)); printf("%s = %08x\n", argv[0], regread(s, &atd, reg));