if (isdigit(input_buf[0])) { int new_level = ((int) input_buf[0] - (int) '0'); 
str = debug_get_user_string(user_buf,user_len); if(IS_ERR(str)){ rc = PTR_ERR(str); goto out; } if(str[0] == '-'){ debug_set_level(id, DEBUG_OFF_LEVEL); rc = user_len; goto free_str; } else { new_level = debug_get_uint(str); } if(new_level < 0) { printk(KERN_INFO "debug: level `%s` is not valid\n", str); rc = -EINVAL; } else { 
static int debug_input_level_fn(debug_info_t * id, struct debug_view *view,				struct file *file, const char __user *user_buf,				size_t in_buf_size, loff_t * offset){	char input_buf[1];	int rc = in_buf_size;	if (*offset != 0)		goto out;	if (copy_from_user(input_buf, user_buf, 1)){		rc = -EFAULT;		goto out;	}	if (isdigit(input_buf[0])) {		int new_level = ((int) input_buf[0] - (int) '0');		debug_set_level(id, new_level);	} else if(input_buf[0] == '-') {		debug_set_level(id, DEBUG_OFF_LEVEL);	} else {		printk(KERN_INFO "debug: level `%c` is not valid\n",		       input_buf[0]);	}      out:	*offset += in_buf_size;	return rc;		/* number of input characters */}
4520	/local/tlutelli/issta_data/temp/c/2005_temp/2005/4520/66a464dbc8e0345b6f972b92bf1118e043d7c987/debug.c/clean/arch/s390/kernel/debug.c