sfdisk: merge partname.c
Signed-off-by: Karel Zak <kzak@redhat.com>
This commit is contained in:
parent
0eeeec3300
commit
4b1cc035d7
|
@ -38,10 +38,7 @@ if !ARCH_SPARC
|
|||
|
||||
sbin_PROGRAMS += sfdisk
|
||||
dist_man_MANS += fdisks/sfdisk.8
|
||||
sfdisk_SOURCES = \
|
||||
fdisks/partname.c \
|
||||
fdisks/sfdisk.c \
|
||||
fdisks/partname.h
|
||||
sfdisk_SOURCES = fdisks/sfdisk.c
|
||||
sfdisk_LDADD = $(LDADD) libcommon.la
|
||||
|
||||
if HAVE_STATIC_SFDISK
|
||||
|
|
|
@ -1,48 +0,0 @@
|
|||
#include <ctype.h>
|
||||
#include <stdio.h>
|
||||
#include <string.h>
|
||||
|
||||
#include "blkdev.h"
|
||||
#include "pathnames.h"
|
||||
#include "partname.h"
|
||||
#include "c.h"
|
||||
|
||||
/*
|
||||
* return partition name - uses static storage unless buf is supplied
|
||||
*/
|
||||
char *
|
||||
partname(char *dev, int pno, int lth) {
|
||||
static char bufp[PATH_MAX];
|
||||
char *p;
|
||||
int w, wp;
|
||||
|
||||
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";
|
||||
}
|
||||
|
||||
/* udev names partitions by appending -partN
|
||||
e.g. ata-SAMSUNG_SV8004H_0357J1FT712448-part1 */
|
||||
if ((strncmp(dev, _PATH_DEV_BYID, strlen(_PATH_DEV_BYID)) == 0) ||
|
||||
strncmp(dev, _PATH_DEV_BYPATH, strlen(_PATH_DEV_BYPATH)) == 0) {
|
||||
p = "-part";
|
||||
}
|
||||
|
||||
wp = strlen(p);
|
||||
|
||||
if (lth) {
|
||||
snprintf(bufp, sizeof(bufp), "%*.*s%s%-2u",
|
||||
lth-wp-2, w, dev, p, pno);
|
||||
} else {
|
||||
snprintf(bufp, sizeof(bufp), "%.*s%s%-2u", w, dev, p, pno);
|
||||
}
|
||||
return bufp;
|
||||
}
|
|
@ -1,8 +0,0 @@
|
|||
#ifndef FDISK_COMMON_H
|
||||
#define FDISK_COMMON_H
|
||||
|
||||
/* common stuff for fdisk, cfdisk, sfdisk */
|
||||
|
||||
extern char *partname(char *dev, int pno, int lth);
|
||||
|
||||
#endif /* FDISK_COMMON_H */
|
|
@ -46,7 +46,6 @@
|
|||
#include "xalloc.h"
|
||||
#include "blkdev.h"
|
||||
#include "linux_version.h"
|
||||
#include "partname.h"
|
||||
#include "wholedisk.h"
|
||||
#include "pathnames.h"
|
||||
#include "canonicalize.h"
|
||||
|
@ -63,6 +62,8 @@ static struct systypes i386_sys_types[] = {
|
|||
#include "pt-mbr-partnames.h"
|
||||
};
|
||||
|
||||
static char *partname(char *dev, int pno, int lth);
|
||||
|
||||
/*
|
||||
* Table of contents:
|
||||
* A. About seeking
|
||||
|
@ -3185,3 +3186,45 @@ do_fdisk(char *dev) {
|
|||
|
||||
sync(); /* superstition */
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* return partition name - uses static storage unless buf is supplied
|
||||
*/
|
||||
static char *partname(char *dev, int pno, int lth)
|
||||
{
|
||||
static char bufp[PATH_MAX];
|
||||
char *p;
|
||||
int w, wp;
|
||||
|
||||
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";
|
||||
}
|
||||
|
||||
/* udev names partitions by appending -partN
|
||||
e.g. ata-SAMSUNG_SV8004H_0357J1FT712448-part1 */
|
||||
if ((strncmp(dev, _PATH_DEV_BYID, strlen(_PATH_DEV_BYID)) == 0) ||
|
||||
strncmp(dev, _PATH_DEV_BYPATH, strlen(_PATH_DEV_BYPATH)) == 0) {
|
||||
p = "-part";
|
||||
}
|
||||
|
||||
wp = strlen(p);
|
||||
|
||||
if (lth) {
|
||||
snprintf(bufp, sizeof(bufp), "%*.*s%s%-2u",
|
||||
lth-wp-2, w, dev, p, pno);
|
||||
} else {
|
||||
snprintf(bufp, sizeof(bufp), "%.*s%s%-2u", w, dev, p, pno);
|
||||
}
|
||||
return bufp;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue