2011-03-02 10:19:27

by Szymon Janc

[permalink] [raw]
Subject: [PATCH] Simplify bachk function

---
lib/bluetooth.c | 21 ++++++---------------
1 files changed, 6 insertions(+), 15 deletions(-)

diff --git a/lib/bluetooth.c b/lib/bluetooth.c
index 4af2ef6..875119b 100644
--- a/lib/bluetooth.c
+++ b/lib/bluetooth.c
@@ -118,33 +118,24 @@ int ba2oui(const bdaddr_t *ba, char *str)

int bachk(const char *str)
{
- char tmp[18], *ptr = tmp;
-
if (!str)
return -1;

if (strlen(str) != 17)
return -1;

- memcpy(tmp, str, 18);
-
- while (*ptr) {
- *ptr = toupper(*ptr);
- if (*ptr < '0'|| (*ptr > '9' && *ptr < 'A') || *ptr > 'F')
+ while (*str) {
+ if (!isxdigit(*str++))
return -1;
- ptr++;

- *ptr = toupper(*ptr);
- if (*ptr < '0'|| (*ptr > '9' && *ptr < 'A') || *ptr > 'F')
+ if (!isxdigit(*str++))
return -1;
- ptr++;

- *ptr = toupper(*ptr);
- if (*ptr == 0)
+ if (*str == 0)
break;
- if (*ptr != ':')
+
+ if (*str++ != ':')
return -1;
- ptr++;
}

return 0;
--
1.7.0.4
on behalf of ST-Ericsson


2011-03-04 18:45:58

by Johan Hedberg

[permalink] [raw]
Subject: Re: [PATCH] Simplify bachk function

Hi Szymon,

On Wed, Mar 02, 2011, Szymon Janc wrote:
> ---
> lib/bluetooth.c | 21 ++++++---------------
> 1 files changed, 6 insertions(+), 15 deletions(-)

Pushed upstream. Thanks. For non-trivial changes please add more
descriptive commit messages in the future (it would have saved me some
time in reviewing the patch for correctness).

Johan