Very nice, this is a big improvement. On Thu, Jun 11, 2009 at 06:05:55PM +0900, Minoru Usui wrote: > +static int get_tc_classid(u32 *classid, const char *str) Maybe make this return u32? > { > - return cgrp_cls_state(cgrp)->classid; > + u32 maj, min; > + char *p; > + > + /* check "0" for reset request */ > + if (!strcmp(str, "0")) { > + *classid = 0; > + return 0; > + } > + > + /* parse major number */ > + maj = simple_strtoul(str, &p, 16); > + if (p == str) { > + maj = 0; > + if (*p != ':') > + return -EINVAL; > + } > + > + /* parse minor number */ > + if (*p == ':') { > + if (maj >= (1<<16)) > + return -EINVAL; > + > + str = p + 1; > + min = simple_strtoul(str, &p, 16); > + if (*p != 0) > + return -EINVAL; > + if (min >= (1<<16)) > + return -EINVAL; > + } else if (*p != 0) > + return -EINVAL; What do you think about keeping things backwards compatible by accepting both the X:Y and XY format? } else if (*p != 0) return strtoul(str, NULL, 0); _______________________________________________ Containers mailing list Containers@xxxxxxxxxxxxxxxxxxxxxxxxxx https://lists.linux-foundation.org/mailman/listinfo/containers