Changeset 3621 in MondoRescue for branches/3.3/mindi-busybox/miscutils/devfsd.c
- Timestamp:
- Dec 20, 2016, 4:07:32 PM (7 years ago)
- Location:
- branches/3.3
- Files:
-
- 1 edited
- 1 copied
Legend:
- Unmodified
- Added
- Removed
-
branches/3.3/mindi-busybox/miscutils/devfsd.c
r3232 r3621 285 285 /* Busybox stuff */ 286 286 #if ENABLE_DEVFSD_VERBOSE || ENABLE_DEBUG 287 #define info_logger(p, fmt, args...) bb_ info_msg(fmt, ## args)287 #define info_logger(p, fmt, args...) bb_error_msg(fmt, ## args) 288 288 #define msg_logger(p, fmt, args...) bb_error_msg(fmt, ## args) 289 289 #define msg_logger_and_die(p, fmt, args...) bb_error_msg_and_die(fmt, ## args) … … 1084 1084 struct passwd *pw_ent; 1085 1085 struct group *grp_ent; 1086 static const char *msg; 1086 const char *msg; 1087 1088 if (isdigit(string[0]) || ((string[0] == '-') && isdigit(string[1]))) 1089 return atoi(string); 1090 1091 if (flag == UID && (pw_ent = getpwnam(string)) != NULL) 1092 return pw_ent->pw_uid; 1087 1093 1088 1094 if (ENABLE_DEVFSD_VERBOSE) 1089 1095 msg = "user"; 1090 1096 1091 if (isdigit(string[0]) ||((string[0] == '-') && isdigit(string[1]))) 1092 return atoi(string); 1093 1094 if (flag == UID && (pw_ent = getpwnam(string)) != NULL) 1095 return pw_ent->pw_uid; 1096 1097 if (flag == GID && (grp_ent = getgrnam(string)) != NULL) 1098 return grp_ent->gr_gid; 1099 else if (ENABLE_DEVFSD_VERBOSE) 1100 msg = "group"; 1097 if (flag == GID) { 1098 if ((grp_ent = getgrnam(string)) != NULL) 1099 return grp_ent->gr_gid; 1100 if (ENABLE_DEVFSD_VERBOSE) 1101 msg = "group"; 1102 } 1101 1103 1102 1104 if (ENABLE_DEVFSD_VERBOSE) … … 1141 1143 static const char *get_variable(const char *variable, void *info) 1142 1144 { 1143 static char sbuf[sizeof(int)*3 + 2]; /* sign and NUL */1144 1145 static char *hostname; 1145 1146 1146 1147 struct get_variable_info *gv_info = info; 1147 1148 const char *field_names[] = { 1148 "hostname", "mntpt", "devpath", "devname", 1149 "uid", "gid", "mode", hostname, mount_point, 1150 gv_info->devpath, gv_info->devname, NULL 1149 "hostname", "mntpt", "devpath", "devname", "uid", "gid", "mode", 1150 NULL, mount_point, gv_info->devpath, gv_info->devname, NULL 1151 1151 }; 1152 1152 int i; … … 1154 1154 if (!hostname) 1155 1155 hostname = safe_gethostname(); 1156 field_names[7] = hostname; 1157 1156 1158 /* index_in_str_array returns i>=0 */ 1157 1159 i = index_in_str_array(field_names, variable); … … 1163 1165 1164 1166 if (i == 4) 1165 sprintf(sbuf, "%u", gv_info->info->uid); 1166 else if (i == 5) 1167 sprintf(sbuf, "%u", gv_info->info->gid); 1168 else if (i == 6) 1169 sprintf(sbuf, "%o", gv_info->info->mode); 1170 return sbuf; 1167 return auto_string(xasprintf("%u", gv_info->info->uid)); 1168 if (i == 5) 1169 return auto_string(xasprintf("%u", gv_info->info->gid)); 1170 /* i == 6 */ 1171 return auto_string(xasprintf("%o", gv_info->info->mode)); 1171 1172 } /* End Function get_variable */ 1172 1173 … … 1404 1405 const char *pty1; 1405 1406 const char *pty2; 1406 size_t len;1407 1407 /* 1 to 5 "scsi/" , 6 to 9 "ide/host", 10 sbp/, 11 vcc/, 12 pty/ */ 1408 1408 static const char *const fmt[] = { … … 1424 1424 1425 1425 for (trans = translate_table; trans->match != NULL; ++trans) { 1426 len = strlen(trans->match); 1427 1428 if (strncmp(devname, trans->match, len) == 0) { 1426 char *after_match = is_prefixed_with(devname, trans->match); 1427 if (after_match) { 1429 1428 if (trans->format == NULL) 1430 return devname + len;1431 sprintf(buffer, trans->format, devname + len);1429 return after_match; 1430 sprintf(buffer, trans->format, after_match); 1432 1431 return buffer; 1433 1432 }
Note:
See TracChangeset
for help on using the changeset viewer.