fdisk: fix CONFIG_FEATURE_SUN_LABEL=y build

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
This commit is contained in:
Denys Vlasenko 2016-09-17 21:05:06 +02:00
parent 7373759947
commit b157eb13cb

View File

@ -473,6 +473,42 @@ close_dev_fd(void)
xmove_fd(xopen(bb_dev_null, O_RDONLY), dev_fd); xmove_fd(xopen(bb_dev_null, O_RDONLY), dev_fd);
} }
/* Return partition name */
static const char *
partname(const char *dev, int pno, int lth)
{
const char *p;
int w, wp;
int bufsiz;
char *bufp;
bufp = auto_string(xzalloc(80));
bufsiz = 80;
w = strlen(dev);
p = "";
if (isdigit(dev[w-1]))
p = "p";
/* devfs kludge - note: fdisk partition names are not supposed
to equal kernel names, so there is no reason to do this */
if (strcmp(dev + w - 4, "disc") == 0) {
w -= 4;
p = "part";
}
wp = strlen(p);
if (lth) {
snprintf(bufp, bufsiz, "%*.*s%s%-2u",
lth-wp-2, w, dev, p, pno);
} else {
snprintf(bufp, bufsiz, "%.*s%s%-2u", w, dev, p, pno);
}
return bufp;
}
static ALWAYS_INLINE struct partition * static ALWAYS_INLINE struct partition *
get_part_table(int i) get_part_table(int i)
{ {
@ -2057,42 +2093,6 @@ fix_partition_table_order(void)
} }
#endif #endif
/* Return partition name */
static const char *
partname(const char *dev, int pno, int lth)
{
const char *p;
int w, wp;
int bufsiz;
char *bufp;
bufp = auto_string(xzalloc(80));
bufsiz = 80;
w = strlen(dev);
p = "";
if (isdigit(dev[w-1]))
p = "p";
/* devfs kludge - note: fdisk partition names are not supposed
to equal kernel names, so there is no reason to do this */
if (strcmp(dev + w - 4, "disc") == 0) {
w -= 4;
p = "part";
}
wp = strlen(p);
if (lth) {
snprintf(bufp, bufsiz, "%*.*s%s%-2u",
lth-wp-2, w, dev, p, pno);
} else {
snprintf(bufp, bufsiz, "%.*s%s%-2u", w, dev, p, pno);
}
return bufp;
}
static const char * static const char *
chs_string11(unsigned cyl, unsigned head, unsigned sect) chs_string11(unsigned cyl, unsigned head, unsigned sect)
{ {