staging: speakup: reuse native kernel functions
We have simple_strtoul and simple_strtol. Don't repeat their functionality here. Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> Acked-by: Samuel Thibault <samuel.thibault@ens-lyon.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
f7046bf085
commit
1627ab92b2
@ -617,7 +617,7 @@ ssize_t spk_var_store(struct kobject *kobj, struct kobj_attribute *attr,
|
||||
len = E_INC;
|
||||
else
|
||||
len = E_SET;
|
||||
speakup_s2i(cp, &value);
|
||||
value = simple_strtol(cp, NULL, 10);
|
||||
ret = spk_set_num_var(value, param, len);
|
||||
if (ret == E_RANGE) {
|
||||
var_data = param->data;
|
||||
|
@ -1892,7 +1892,7 @@ oops:
|
||||
spk_special_handler = NULL;
|
||||
return 1;
|
||||
}
|
||||
cp = speakup_s2i(goto_buf, &go_pos);
|
||||
go_pos = simple_strtol(goto_buf, &cp, 10);
|
||||
goto_pos = (u_long) go_pos;
|
||||
if (*cp == 'x') {
|
||||
if (*goto_buf < '0')
|
||||
|
@ -58,7 +58,6 @@ void spk_reset_index_count(int sc);
|
||||
void spk_get_index_count(int *linecount, int *sentcount);
|
||||
extern int spk_set_key_info(const u_char *key_info, u_char *k_buffer);
|
||||
extern char *spk_strlwr(char *s);
|
||||
extern char *speakup_s2i(char *start, int *dest);
|
||||
extern char *spk_s2uchar(char *start, char *dest);
|
||||
extern char *spk_xlate(char *s);
|
||||
extern int speakup_kobj_init(void);
|
||||
|
@ -319,38 +319,10 @@ char *spk_strlwr(char *s)
|
||||
return s;
|
||||
}
|
||||
|
||||
char *speakup_s2i(char *start, int *dest)
|
||||
{
|
||||
int val;
|
||||
char ch = *start;
|
||||
if (ch == '-' || ch == '+')
|
||||
start++;
|
||||
if (*start < '0' || *start > '9')
|
||||
return start;
|
||||
val = (*start) - '0';
|
||||
start++;
|
||||
while (*start >= '0' && *start <= '9') {
|
||||
val *= 10;
|
||||
val += (*start) - '0';
|
||||
start++;
|
||||
}
|
||||
if (ch == '-')
|
||||
*dest = -val;
|
||||
else
|
||||
*dest = val;
|
||||
return start;
|
||||
}
|
||||
|
||||
char *spk_s2uchar(char *start, char *dest)
|
||||
{
|
||||
int val = 0;
|
||||
while (*start && *start <= SPACE)
|
||||
start++;
|
||||
while (*start >= '0' && *start <= '9') {
|
||||
val *= 10;
|
||||
val += (*start) - '0';
|
||||
start++;
|
||||
}
|
||||
val = simple_strtoul(skip_spaces(start), &start, 10);
|
||||
if (*start == ',')
|
||||
start++;
|
||||
*dest = (u_char)val;
|
||||
|
Loading…
x
Reference in New Issue
Block a user