Commit d337d3ef authored by Martin Dalecki's avatar Martin Dalecki Committed by Linus Torvalds

[PATCH] kill warnings 18/19

Slowly we get there...
parent 90ce6db3
/********************************************************************* /*********************************************************************
* *
* Filename: parameters.c * Filename: parameters.c
* Version: 1.0 * Version: 1.0
* Description: A more general way to handle (pi,pl,pv) parameters * Description: A more general way to handle (pi,pl,pv) parameters
...@@ -8,24 +8,24 @@ ...@@ -8,24 +8,24 @@
* Created at: Mon Jun 7 10:25:11 1999 * Created at: Mon Jun 7 10:25:11 1999
* Modified at: Sun Jan 30 14:08:39 2000 * Modified at: Sun Jan 30 14:08:39 2000
* Modified by: Dag Brattli <dagb@cs.uit.no> * Modified by: Dag Brattli <dagb@cs.uit.no>
* *
* Copyright (c) 1999-2000 Dag Brattli, All Rights Reserved. * Copyright (c) 1999-2000 Dag Brattli, All Rights Reserved.
* *
* This program is free software; you can redistribute it and/or * This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License as * modify it under the terms of the GNU General Public License as
* published by the Free Software Foundation; either version 2 of * published by the Free Software Foundation; either version 2 of
* the License, or (at your option) any later version. * the License, or (at your option) any later version.
* *
* This program is distributed in the hope that it will be useful, * This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of * but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details. * GNU General Public License for more details.
* *
* You should have received a copy of the GNU General Public License * You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software * along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
* MA 02111-1307 USA * MA 02111-1307 USA
* *
********************************************************************/ ********************************************************************/
#include <linux/types.h> #include <linux/types.h>
...@@ -35,18 +35,18 @@ ...@@ -35,18 +35,18 @@
#include <net/irda/irda.h> #include <net/irda/irda.h>
#include <net/irda/parameters.h> #include <net/irda/parameters.h>
static int irda_extract_integer(void *self, __u8 *buf, int len, __u8 pi, static int irda_extract_integer(void *self, __u8 *buf, int len, __u8 pi,
PV_TYPE type, PI_HANDLER func); PV_TYPE type, PI_HANDLER func);
static int irda_extract_string(void *self, __u8 *buf, int len, __u8 pi, static int irda_extract_string(void *self, __u8 *buf, int len, __u8 pi,
PV_TYPE type, PI_HANDLER func); PV_TYPE type, PI_HANDLER func);
static int irda_extract_octseq(void *self, __u8 *buf, int len, __u8 pi, static int irda_extract_octseq(void *self, __u8 *buf, int len, __u8 pi,
PV_TYPE type, PI_HANDLER func); PV_TYPE type, PI_HANDLER func);
static int irda_extract_no_value(void *self, __u8 *buf, int len, __u8 pi, static int irda_extract_no_value(void *self, __u8 *buf, int len, __u8 pi,
PV_TYPE type, PI_HANDLER func); PV_TYPE type, PI_HANDLER func);
static int irda_insert_integer(void *self, __u8 *buf, int len, __u8 pi, static int irda_insert_integer(void *self, __u8 *buf, int len, __u8 pi,
PV_TYPE type, PI_HANDLER func); PV_TYPE type, PI_HANDLER func);
static int irda_insert_no_value(void *self, __u8 *buf, int len, __u8 pi, static int irda_insert_no_value(void *self, __u8 *buf, int len, __u8 pi,
PV_TYPE type, PI_HANDLER func); PV_TYPE type, PI_HANDLER func);
/* Parameter value call table. Must match PV_TYPE */ /* Parameter value call table. Must match PV_TYPE */
...@@ -72,11 +72,8 @@ static PV_HANDLER pv_insert_table[] = { ...@@ -72,11 +72,8 @@ static PV_HANDLER pv_insert_table[] = {
/* /*
* Function irda_insert_no_value (self, buf, len, pi, type, func) * Function irda_insert_no_value (self, buf, len, pi, type, func)
*
*
*
*/ */
static int irda_insert_no_value(void *self, __u8 *buf, int len, __u8 pi, static int irda_insert_no_value(void *self, __u8 *buf, int len, __u8 pi,
PV_TYPE type, PI_HANDLER func) PV_TYPE type, PI_HANDLER func)
{ {
irda_param_t p; irda_param_t p;
...@@ -93,7 +90,7 @@ static int irda_insert_no_value(void *self, __u8 *buf, int len, __u8 pi, ...@@ -93,7 +90,7 @@ static int irda_insert_no_value(void *self, __u8 *buf, int len, __u8 pi,
if (ret < 0) if (ret < 0)
return ret; return ret;
return 2; /* Inserted pl+2 bytes */ return 2; /* Inserted pl+2 bytes */
} }
...@@ -103,7 +100,7 @@ static int irda_insert_no_value(void *self, __u8 *buf, int len, __u8 pi, ...@@ -103,7 +100,7 @@ static int irda_insert_no_value(void *self, __u8 *buf, int len, __u8 pi,
* Extracts a parameter without a pv field (pl=0) * Extracts a parameter without a pv field (pl=0)
* *
*/ */
static int irda_extract_no_value(void *self, __u8 *buf, int len, __u8 pi, static int irda_extract_no_value(void *self, __u8 *buf, int len, __u8 pi,
PV_TYPE type, PI_HANDLER func) PV_TYPE type, PI_HANDLER func)
{ {
irda_param_t p; irda_param_t p;
...@@ -117,17 +114,14 @@ static int irda_extract_no_value(void *self, __u8 *buf, int len, __u8 pi, ...@@ -117,17 +114,14 @@ static int irda_extract_no_value(void *self, __u8 *buf, int len, __u8 pi,
if (ret < 0) if (ret < 0)
return ret; return ret;
return 2; /* Extracted pl+2 bytes */ return 2; /* Extracted pl+2 bytes */
} }
/* /*
* Function irda_insert_integer (self, buf, len, pi, type, func) * Function irda_insert_integer (self, buf, len, pi, type, func)
*
*
*
*/ */
static int irda_insert_integer(void *self, __u8 *buf, int len, __u8 pi, static int irda_insert_integer(void *self, __u8 *buf, int len, __u8 pi,
PV_TYPE type, PI_HANDLER func) PV_TYPE type, PI_HANDLER func)
{ {
irda_param_t p; irda_param_t p;
...@@ -141,10 +135,10 @@ static int irda_insert_integer(void *self, __u8 *buf, int len, __u8 pi, ...@@ -141,10 +135,10 @@ static int irda_insert_integer(void *self, __u8 *buf, int len, __u8 pi,
/* Call handler for this parameter */ /* Call handler for this parameter */
err = (*func)(self, &p, PV_GET); err = (*func)(self, &p, PV_GET);
if (err < 0) if (err < 0)
return err; return err;
/* /*
* If parameter lenght is still 0, then (1) this is an any length * If parameter lenght is still 0, then (1) this is an any length
* integer, and (2) the handler function does not care which length * integer, and (2) the handler function does not care which length
* we choose to use, so we pick the one the gives the fewest bytes. * we choose to use, so we pick the one the gives the fewest bytes.
*/ */
...@@ -162,7 +156,7 @@ static int irda_insert_integer(void *self, __u8 *buf, int len, __u8 pi, ...@@ -162,7 +156,7 @@ static int irda_insert_integer(void *self, __u8 *buf, int len, __u8 pi,
} }
/* Check if buffer is long enough for insertion */ /* Check if buffer is long enough for insertion */
if (len < (2+p.pl)) { if (len < (2+p.pl)) {
WARNING(__FUNCTION__ "(), buffer to short for insertion!\n"); WARNING("%s: buffer to short for insertion!\n", __FUNCTION__);
return -1; return -1;
} }
IRDA_DEBUG(2, __FUNCTION__ "(), pi=%#x, pl=%d, pi=%d\n", p.pi, p.pl, p.pv.i); IRDA_DEBUG(2, __FUNCTION__ "(), pi=%#x, pl=%d, pi=%d\n", p.pi, p.pl, p.pv.i);
...@@ -186,8 +180,8 @@ static int irda_insert_integer(void *self, __u8 *buf, int len, __u8 pi, ...@@ -186,8 +180,8 @@ static int irda_insert_integer(void *self, __u8 *buf, int len, __u8 pi,
break; break;
default: default:
WARNING(__FUNCTION__ "() length %d not supported\n", p.pl); WARNING("%s: length %d not supported\n", __FUNCTION__, p.pl);
/* Skip parameter */ /* Skip parameter */
return -1; return -1;
} }
...@@ -197,10 +191,10 @@ static int irda_insert_integer(void *self, __u8 *buf, int len, __u8 pi, ...@@ -197,10 +191,10 @@ static int irda_insert_integer(void *self, __u8 *buf, int len, __u8 pi,
/* /*
* Function irda_extract integer (self, buf, len, pi, type, func) * Function irda_extract integer (self, buf, len, pi, type, func)
* *
* Extract a possibly variable length integer from buffer, and call * Extract a possibly variable length integer from buffer, and call
* handler for processing of the parameter * handler for processing of the parameter
*/ */
static int irda_extract_integer(void *self, __u8 *buf, int len, __u8 pi, static int irda_extract_integer(void *self, __u8 *buf, int len, __u8 pi,
PV_TYPE type, PI_HANDLER func) PV_TYPE type, PI_HANDLER func)
{ {
irda_param_t p; irda_param_t p;
...@@ -213,20 +207,21 @@ static int irda_extract_integer(void *self, __u8 *buf, int len, __u8 pi, ...@@ -213,20 +207,21 @@ static int irda_extract_integer(void *self, __u8 *buf, int len, __u8 pi,
/* Check if buffer is long enough for parsing */ /* Check if buffer is long enough for parsing */
if (len < (2+p.pl)) { if (len < (2+p.pl)) {
WARNING(__FUNCTION__ "(), buffer to short for parsing! " WARNING("%s: buffer to short for parsing! "
"Need %d bytes, but len is only %d\n", p.pl, len); "Need %d bytes, but len is only %d\n",
__FUNCTION__, p.pl, len);
return -1; return -1;
} }
/* /*
* Check that the integer length is what we expect it to be. If the * Check that the integer length is what we expect it to be. If the
* handler want a 16 bits integer then a 32 bits is not good enough * handler want a 16 bits integer then a 32 bits is not good enough
*/ */
if (((type & PV_MASK) != PV_INTEGER) && ((type & PV_MASK) != p.pl)) { if (((type & PV_MASK) != PV_INTEGER) && ((type & PV_MASK) != p.pl)) {
ERROR(__FUNCTION__ "(), invalid parameter length! " ERROR("%s: invalid parameter length! "
"Expected %d bytes, but value had %d bytes!\n", "Expected %d bytes, but value had %d bytes!\n",
type & PV_MASK, p.pl); __FUNCTION__, type & PV_MASK, p.pl);
/* Skip parameter */ /* Skip parameter */
return p.pl+2; return p.pl+2;
} }
...@@ -251,9 +246,9 @@ static int irda_extract_integer(void *self, __u8 *buf, int len, __u8 pi, ...@@ -251,9 +246,9 @@ static int irda_extract_integer(void *self, __u8 *buf, int len, __u8 pi,
le32_to_cpus(&p.pv.i); le32_to_cpus(&p.pv.i);
break; break;
default: default:
WARNING(__FUNCTION__ "() length %d not supported\n", p.pl); WARNING("%s: length %d not supported\n", __FUNCTION__, p.pl);
/* Skip parameter */ /* Skip parameter */
return p.pl+2; return p.pl+2;
} }
...@@ -261,18 +256,15 @@ static int irda_extract_integer(void *self, __u8 *buf, int len, __u8 pi, ...@@ -261,18 +256,15 @@ static int irda_extract_integer(void *self, __u8 *buf, int len, __u8 pi,
/* Call handler for this parameter */ /* Call handler for this parameter */
err = (*func)(self, &p, PV_PUT); err = (*func)(self, &p, PV_PUT);
if (err < 0) if (err < 0)
return err; return err;
return p.pl+2; /* Extracted pl+2 bytes */ return p.pl+2; /* Extracted pl+2 bytes */
} }
/* /*
* Function irda_extract_string (self, buf, len, type, func) * Function irda_extract_string (self, buf, len, type, func)
*
*
*
*/ */
static int irda_extract_string(void *self, __u8 *buf, int len, __u8 pi, static int irda_extract_string(void *self, __u8 *buf, int len, __u8 pi,
PV_TYPE type, PI_HANDLER func) PV_TYPE type, PI_HANDLER func)
{ {
char str[33]; char str[33];
...@@ -288,18 +280,19 @@ static int irda_extract_string(void *self, __u8 *buf, int len, __u8 pi, ...@@ -288,18 +280,19 @@ static int irda_extract_string(void *self, __u8 *buf, int len, __u8 pi,
/* Check if buffer is long enough for parsing */ /* Check if buffer is long enough for parsing */
if (len < (2+p.pl)) { if (len < (2+p.pl)) {
WARNING(__FUNCTION__ "(), buffer to short for parsing! " WARNING("%s: buffer to short for parsing! "
"Need %d bytes, but len is only %d\n", p.pl, len); "Need %d bytes, but len is only %d\n",
__FUNCTION__, p.pl, len);
return -1; return -1;
} }
/* Should be safe to copy string like this since we have already /* Should be safe to copy string like this since we have already
* checked that the buffer is long enough */ * checked that the buffer is long enough */
strncpy(str, buf+2, p.pl); strncpy(str, buf+2, p.pl);
IRDA_DEBUG(2, __FUNCTION__ "(), str=0x%02x 0x%02x\n", (__u8) str[0], IRDA_DEBUG(2, __FUNCTION__ "(), str=0x%02x 0x%02x\n", (__u8) str[0],
(__u8) str[1]); (__u8) str[1]);
/* Null terminate string */ /* Null terminate string */
str[p.pl+1] = '\0'; str[p.pl+1] = '\0';
...@@ -308,16 +301,13 @@ static int irda_extract_string(void *self, __u8 *buf, int len, __u8 pi, ...@@ -308,16 +301,13 @@ static int irda_extract_string(void *self, __u8 *buf, int len, __u8 pi,
/* Call handler for this parameter */ /* Call handler for this parameter */
err = (*func)(self, &p, PV_PUT); err = (*func)(self, &p, PV_PUT);
if (err < 0) if (err < 0)
return err; return err;
return p.pl+2; /* Extracted pl+2 bytes */ return p.pl+2; /* Extracted pl+2 bytes */
} }
/* /*
* Function irda_extract_octseq (self, buf, len, type, func) * Function irda_extract_octseq (self, buf, len, type, func)
*
*
*
*/ */
static int irda_extract_octseq(void *self, __u8 *buf, int len, __u8 pi, static int irda_extract_octseq(void *self, __u8 *buf, int len, __u8 pi,
PV_TYPE type, PI_HANDLER func) PV_TYPE type, PI_HANDLER func)
...@@ -329,13 +319,14 @@ static int irda_extract_octseq(void *self, __u8 *buf, int len, __u8 pi, ...@@ -329,13 +319,14 @@ static int irda_extract_octseq(void *self, __u8 *buf, int len, __u8 pi,
/* Check if buffer is long enough for parsing */ /* Check if buffer is long enough for parsing */
if (len < (2+p.pl)) { if (len < (2+p.pl)) {
WARNING(__FUNCTION__ "(), buffer to short for parsing! " WARNING("%s: buffer to short for parsing! "
"Need %d bytes, but len is only %d\n", p.pl, len); "Need %d bytes, but len is only %d\n",
__FUNCTION__, p.pl, len);
return -1; return -1;
} }
IRDA_DEBUG(0, __FUNCTION__ "(), not impl\n"); IRDA_DEBUG(0, __FUNCTION__ "(), not impl\n");
return p.pl+2; /* Extracted pl+2 bytes */ return p.pl+2; /* Extracted pl+2 bytes */
} }
...@@ -353,7 +344,7 @@ int irda_param_pack(__u8 *buf, char *fmt, ...) ...@@ -353,7 +344,7 @@ int irda_param_pack(__u8 *buf, char *fmt, ...)
va_list args; va_list args;
char *p; char *p;
int n = 0; int n = 0;
va_start(args, fmt); va_start(args, fmt);
for (p = fmt; *p != '\0'; p++) { for (p = fmt; *p != '\0'; p++) {
...@@ -380,7 +371,6 @@ int irda_param_pack(__u8 *buf, char *fmt, ...) ...@@ -380,7 +371,6 @@ int irda_param_pack(__u8 *buf, char *fmt, ...)
va_end(args); va_end(args);
return -1; return -1;
} }
} }
va_end(args); va_end(args);
...@@ -389,9 +379,6 @@ int irda_param_pack(__u8 *buf, char *fmt, ...) ...@@ -389,9 +379,6 @@ int irda_param_pack(__u8 *buf, char *fmt, ...)
/* /*
* Function irda_param_unpack (skb, fmt, ...) * Function irda_param_unpack (skb, fmt, ...)
*
*
*
*/ */
int irda_param_unpack(__u8 *buf, char *fmt, ...) int irda_param_unpack(__u8 *buf, char *fmt, ...)
{ {
...@@ -427,7 +414,7 @@ int irda_param_unpack(__u8 *buf, char *fmt, ...) ...@@ -427,7 +414,7 @@ int irda_param_unpack(__u8 *buf, char *fmt, ...)
va_end(args); va_end(args);
return -1; return -1;
} }
} }
va_end(args); va_end(args);
...@@ -440,7 +427,7 @@ int irda_param_unpack(__u8 *buf, char *fmt, ...) ...@@ -440,7 +427,7 @@ int irda_param_unpack(__u8 *buf, char *fmt, ...)
* Insert the specified parameter (pi) into buffer. Returns number of * Insert the specified parameter (pi) into buffer. Returns number of
* bytes inserted * bytes inserted
*/ */
int irda_param_insert(void *self, __u8 pi, __u8 *buf, int len, int irda_param_insert(void *self, __u8 pi, __u8 *buf, int len,
pi_param_info_t *info) pi_param_info_t *info)
{ {
pi_minor_info_t *pi_minor_info; pi_minor_info_t *pi_minor_info;
...@@ -457,16 +444,16 @@ int irda_param_insert(void *self, __u8 pi, __u8 *buf, int len, ...@@ -457,16 +444,16 @@ int irda_param_insert(void *self, __u8 pi, __u8 *buf, int len,
pi_major = pi >> info->pi_major_offset; pi_major = pi >> info->pi_major_offset;
/* Check if the identifier value (pi) is valid */ /* Check if the identifier value (pi) is valid */
if ((pi_major > info->len-1) || if ((pi_major > info->len-1) ||
(pi_minor > info->tables[pi_major].len-1)) (pi_minor > info->tables[pi_major].len-1))
{ {
IRDA_DEBUG(0, __FUNCTION__ IRDA_DEBUG(0, __FUNCTION__
"(), no handler for parameter=0x%02x\n", pi); "(), no handler for parameter=0x%02x\n", pi);
/* Skip this parameter */ /* Skip this parameter */
return -1; return -1;
} }
/* Lookup the info on how to parse this parameter */ /* Lookup the info on how to parse this parameter */
pi_minor_info = &info->tables[pi_major].pi_minor_call_table[pi_minor]; pi_minor_info = &info->tables[pi_major].pi_minor_call_table[pi_minor];
...@@ -475,13 +462,13 @@ int irda_param_insert(void *self, __u8 pi, __u8 *buf, int len, ...@@ -475,13 +462,13 @@ int irda_param_insert(void *self, __u8 pi, __u8 *buf, int len,
/* Check if handler has been implemented */ /* Check if handler has been implemented */
if (!pi_minor_info->func) { if (!pi_minor_info->func) {
MESSAGE(__FUNCTION__"(), no handler for pi=%#x\n", pi); MESSAGE("%s: no handler for pi=%#x\n", __FUNCTION__, pi);
/* Skip this parameter */ /* Skip this parameter */
return -1; return -1;
} }
/* Insert parameter value */ /* Insert parameter value */
ret = (*pv_insert_table[type & PV_MASK])(self, buf+n, len, pi, type, ret = (*pv_insert_table[type & PV_MASK])(self, buf+n, len, pi, type,
pi_minor_info->func); pi_minor_info->func);
return ret; return ret;
} }
...@@ -507,14 +494,14 @@ int irda_param_extract(void *self, __u8 *buf, int len, pi_param_info_t *info) ...@@ -507,14 +494,14 @@ int irda_param_extract(void *self, __u8 *buf, int len, pi_param_info_t *info)
pi_minor = buf[n] & info->pi_mask; pi_minor = buf[n] & info->pi_mask;
pi_major = buf[n] >> info->pi_major_offset; pi_major = buf[n] >> info->pi_major_offset;
/* Check if the identifier value (pi) is valid */ /* Check if the identifier value (pi) is valid */
if ((pi_major > info->len-1) || if ((pi_major > info->len-1) ||
(pi_minor > info->tables[pi_major].len-1)) (pi_minor > info->tables[pi_major].len-1))
{ {
IRDA_DEBUG(0, __FUNCTION__ "(), no handler for parameter=0x%02x\n", IRDA_DEBUG(0, __FUNCTION__ "(), no handler for parameter=0x%02x\n",
buf[0]); buf[0]);
/* Skip this parameter */ /* Skip this parameter */
return 2 + buf[n + 1]; /* Continue */ return 2 + buf[n + 1]; /* Continue */
} }
...@@ -524,13 +511,13 @@ int irda_param_extract(void *self, __u8 *buf, int len, pi_param_info_t *info) ...@@ -524,13 +511,13 @@ int irda_param_extract(void *self, __u8 *buf, int len, pi_param_info_t *info)
/* Find expected data type for this parameter identifier (pi)*/ /* Find expected data type for this parameter identifier (pi)*/
type = pi_minor_info->type; type = pi_minor_info->type;
IRDA_DEBUG(3, __FUNCTION__ "(), pi=[%d,%d], type=%d\n", IRDA_DEBUG(3, __FUNCTION__ "(), pi=[%d,%d], type=%d\n",
pi_major, pi_minor, type); pi_major, pi_minor, type);
/* Check if handler has been implemented */ /* Check if handler has been implemented */
if (!pi_minor_info->func) { if (!pi_minor_info->func) {
MESSAGE(__FUNCTION__"(), no handler for pi=%#x\n", buf[n]); MESSAGE("%s: no handler for pi=%#x\n", __FUNCTION__, buf[n]);
/* Skip this parameter */ /* Skip this parameter */
return 2 + buf[n + 1]; /* Continue */ return 2 + buf[n + 1]; /* Continue */
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment