volume_id/get_devname: trivial code shrink

function                                             old     new   delta
uuidcache_init                                        36      41      +5
get_devname_from_uuid                                 55      51      -4
get_devname_from_label                                61      57      -4
display_uuid_cache                                   109     105      -4
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 1/3 up/down: 5/-12)              Total: -7 bytes

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
This commit is contained in:
Denys Vlasenko 2011-12-06 15:06:59 +01:00
parent b8ff9357d5
commit c3375f0389

View File

@ -114,12 +114,12 @@ uuidcache_check_device(const char *device,
return TRUE; return TRUE;
} }
static void static struct uuidCache_s*
uuidcache_init(void) uuidcache_init(void)
{ {
dbg("DBG: uuidCache=%x, uuidCache"); dbg("DBG: uuidCache=%x, uuidCache");
if (uuidCache) if (uuidCache)
return; return uuidCache;
/* We were scanning /proc/partitions /* We were scanning /proc/partitions
* and /proc/sys/dev/cdrom/info here. * and /proc/sys/dev/cdrom/info here.
@ -137,6 +137,8 @@ uuidcache_init(void)
NULL, /* dir_action */ NULL, /* dir_action */
NULL, /* userData */ NULL, /* userData */
0 /* depth */); 0 /* depth */);
return uuidCache;
} }
#define UUID 1 #define UUID 1
@ -148,9 +150,7 @@ get_spec_by_x(int n, const char *t, int *majorPtr, int *minorPtr)
{ {
struct uuidCache_s *uc; struct uuidCache_s *uc;
uuidcache_init(); uc = uuidcache_init();
uc = uuidCache;
while (uc) { while (uc) {
switch (n) { switch (n) {
case UUID: case UUID:
@ -217,22 +217,21 @@ get_spec_by_volume_label(const char *s, int *major, int *minor)
/* Used by blkid */ /* Used by blkid */
void display_uuid_cache(void) void display_uuid_cache(void)
{ {
struct uuidCache_s *u; struct uuidCache_s *uc;
uuidcache_init(); uc = uuidcache_init();
u = uuidCache; while (uc) {
while (u) { printf("%s:", uc->device);
printf("%s:", u->device); if (uc->label[0])
if (u->label[0]) printf(" LABEL=\"%s\"", uc->label);
printf(" LABEL=\"%s\"", u->label); if (uc->uc_uuid[0])
if (u->uc_uuid[0]) printf(" UUID=\"%s\"", uc->uc_uuid);
printf(" UUID=\"%s\"", u->uc_uuid);
#if ENABLE_FEATURE_BLKID_TYPE #if ENABLE_FEATURE_BLKID_TYPE
if (u->type) if (uc->type)
printf(" TYPE=\"%s\"", u->type); printf(" TYPE=\"%s\"", uc->type);
#endif #endif
bb_putchar('\n'); bb_putchar('\n');
u = u->next; uc = uc->next;
} }
} }
@ -265,8 +264,7 @@ char *get_devname_from_label(const char *spec)
{ {
struct uuidCache_s *uc; struct uuidCache_s *uc;
uuidcache_init(); uc = uuidcache_init();
uc = uuidCache;
while (uc) { while (uc) {
if (uc->label[0] && strcmp(spec, uc->label) == 0) { if (uc->label[0] && strcmp(spec, uc->label) == 0) {
return xstrdup(uc->device); return xstrdup(uc->device);
@ -280,8 +278,7 @@ char *get_devname_from_uuid(const char *spec)
{ {
struct uuidCache_s *uc; struct uuidCache_s *uc;
uuidcache_init(); uc = uuidcache_init();
uc = uuidCache;
while (uc) { while (uc) {
/* case of hex numbers doesn't matter */ /* case of hex numbers doesn't matter */
if (strcasecmp(spec, uc->uc_uuid) == 0) { if (strcasecmp(spec, uc->uc_uuid) == 0) {