+
+int set_int(char **args, int argc, int *val)
+{
+ char *end = NULL;
+ if (argc != 2)
+ return -EINVAL;
+ errno = 0;
+ *val = strtol(args[1], &end, 0);
+ if (end && *end)
+ return -EINVAL;
+ if (errno == ERANGE)
+ return -ERANGE;
+ return 0;
+}
+
+int set_string(char **args, int argc, char **str)
+{
+ if (argc != 2)
+ return -EINVAL;
+ *str = strdup(args[1]);
+ if (!*str)
+ return -errno;
+ return 0;
+}