/* vi: set sw=4 ts=4: */ /* * Support functions for mounting devices by label/uuid * * Copyright (C) 2006 by Jason Schoon * Some portions cribbed from e2fsprogs, util-linux, dosfstools * * Licensed under GPLv2 or later, see file LICENSE in this tarball for details. */ #include "libbb.h" #include "volume_id.h" int findfs_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE; int findfs_main(int argc, char **argv) { char *tmp = NULL; if (argc != 2) bb_show_usage(); if (!strncmp(argv[1], "LABEL=", 6)) tmp = get_devname_from_label(argv[1] + 6); else if (!strncmp(argv[1], "UUID=", 5)) tmp = get_devname_from_uuid(argv[1] + 5); else if (!strncmp(argv[1], "/dev/", 5)) { /* Just pass a device name right through. This might aid in some scripts being able to call this unconditionally */ tmp = argv[1]; } else bb_show_usage(); if (tmp) { puts(tmp); return 0; } return 1; }