Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 1627ab92 authored by Andy Shevchenko's avatar Andy Shevchenko Committed by Greg Kroah-Hartman
Browse files

staging: speakup: reuse native kernel functions



We have simple_strtoul and simple_strtol. Don't repeat their functionality
here.

Signed-off-by: default avatarAndy Shevchenko <andriy.shevchenko@linux.intel.com>
Acked-by: default avatarSamuel Thibault <samuel.thibault@ens-lyon.org>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent f7046bf0
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -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;
+1 −1
Original line number Diff line number Diff line
@@ -1892,7 +1892,7 @@ static int handle_goto(struct vc_data *vc, u_char type, u_char ch, u_short key)
		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')
+0 −1
Original line number Diff line number Diff line
@@ -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);
+1 −29
Original line number Diff line number Diff line
@@ -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;