#include "busybox.h"
#ifdef CONFIG_FEATURE_MAKEDEVS_LEAF
+int makedevs_main(int argc, char **argv);
int makedevs_main(int argc, char **argv)
{
mode_t mode;
basedev = argv[1];
type = argv[2];
- Smajor = atoi(argv[3]);
- Sminor = atoi(argv[4]);
- S = atoi(argv[5]);
- E = atoi(argv[6]);
+ Smajor = xatoi_u(argv[3]);
+ Sminor = xatoi_u(argv[4]);
+ S = xatoi_u(argv[5]);
+ E = xatoi_u(argv[6]);
nodname = argc == 8 ? basedev : buf;
mode = 0660;
/* if mode != S_IFCHR and != S_IFBLK third param in mknod() ignored */
if (mknod(nodname, mode, makedev(Smajor, Sminor)))
- bb_error_msg("Failed to create: %s", nodname);
+ bb_error_msg("failed to create: %s", nodname);
if (nodname == basedev) /* ex. /dev/hda - to /dev/hda1 ... */
nodname = buf;
/* Licensed under the GPL v2 or later, see the file LICENSE in this tarball. */
+int makedevs_main(int argc, char **argv);
int makedevs_main(int argc, char **argv)
{
FILE *table = stdin;
int linenum = 0;
int ret = EXIT_SUCCESS;
- bb_getopt_ulflags(argc, argv, "d:", &line);
+ getopt32(argc, argv, "d:", &line);
if (line)
table = xfopen(line, "r");
printf("table=<stdin>\n");
}
- while ((line = bb_get_chomped_line_from_file(table))) {
+ while ((line = xmalloc_getline(table))) {
char type;
unsigned int mode = 0755;
unsigned int major = 0;
{
if (*line=='\0' || *line=='#' || isspace(*line))
continue;
- bb_error_msg("line %d invalid: '%s'\n", linenum, line);
+ bb_error_msg("line %d invalid: '%s'", linenum, line);
ret = EXIT_FAILURE;
continue;
}
continue;
}
- gid = (*group) ? get_ug_id(group, bb_xgetgrnam) : getgid();
- uid = (*user) ? get_ug_id(user, bb_xgetpwnam) : getuid();
+ gid = (*group) ? get_ug_id(group, xgroup2gid) : getgid();
+ uid = (*user) ? get_ug_id(user, xuname2uid) : getuid();
full_name = concat_path_file(rootdir, name);
if (type == 'd') {
full_name_inc = xmalloc(strlen(full_name) + 4);
for (i = start; i < count; i++) {
sprintf(full_name_inc, "%s%d", full_name, i);
- rdev = (major << 8) + minor + (i * increment - start);
+ rdev = makedev(major, minor + (i * increment - start));
if (mknod(full_name_inc, mode, rdev) == -1) {
- bb_perror_msg("line %d: could not create node %s", linenum, full_name_inc);
+ bb_perror_msg("line %d: cannot create node %s", linenum, full_name_inc);
ret = EXIT_FAILURE;
}
else if (chown(full_name_inc, uid, gid) == -1) {
}
free(full_name_inc);
} else {
- rdev = (major << 8) + minor;
+ rdev = makedev(major, minor);
if (mknod(full_name, mode, rdev) == -1) {
- bb_perror_msg("line %d: could not create node %s", linenum, full_name);
+ bb_perror_msg("line %d: cannot create node %s", linenum, full_name);
ret = EXIT_FAILURE;
}
else if (chown(full_name, uid, gid) == -1) {