Changeset 3859 in MondoRescue for branches/3.3/mondo/src/common/libmondo-string.c
- Timestamp:
- Mar 7, 2024, 1:33:54 AM (3 months ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/3.3/mondo/src/common/libmondo-string.c
r3858 r3859 35 35 * @param drive The drive basename of the partition name (e.g. /dev/hda) 36 36 * @param partno The partition number (e.g. 1) 37 * @param partition Where to put the partition name (e.g. /dev/hda1) 38 * @return @p partition. 37 * @return @p the partition name (e.g. /dev/hda1) 39 38 * @note If @p drive ends in a digit, then 'p' (on Linux) or 's' (on *BSD) is added before @p partno. 40 39 */ 41 char *build_partition_name(c har *partition, const char *drive, int partno)40 char *build_partition_name(const char *drive, int partno) 42 41 { 43 42 char *p, *c; 44 43 45 assert(partition != NULL);46 44 assert_string_is_neither_NULL_nor_zerolength(drive); 47 45 assert(partno >= 0); 48 46 49 p = strcpy(partition, drive); 47 mr_free(partition); 48 mr_asprintf(partition, "%s", drive); 49 p = partition; 50 50 /* is this a devfs device path? */ 51 51 c = strrchr(partition, '/'); … … 54 54 /* This strcpy is safe */ 55 55 strcpy(c + 1, "part"); 56 p = c + 5;57 56 } else { 58 57 p += strlen(p); 59 58 if (isdigit(p[-1])) { 60 *p++ =59 mr_strcat(partition, "%c", 61 60 #ifdef BSD 62 61 's'; … … 64 63 'p'; 65 64 #endif 65 ); 66 66 } 67 67 } 68 sprintf(p, "%d", partno);68 mr_strcat(partition, "%d", partno); 69 69 return(partition); 70 70 }
Note:
See TracChangeset
for help on using the changeset viewer.