commit 44121ddf9f1fabdd3e85b8a8cdbfa27245f902c7 from: Benjamin Stürz date: Fri May 05 17:38:58 2023 UTC Use err(3) instead of die() commit - 1115ad3a8de82a7059b834dc980d31c3d43c2c7b commit + 44121ddf9f1fabdd3e85b8a8cdbfa27245f902c7 blob - e063ce55e231c9aeb46fa18f868804d10676bf15 blob + b8555e87ca541cdabe8ccbc609f16a6ff126ec65 --- ChangeLog.md +++ ChangeLog.md @@ -19,6 +19,7 @@ and this project adheres to [Semantic Versioning](http and disks can have a label but partitions don't (at least through the disklabel interface). - Print fancy unicode characters by default. +- Use err(3) instead of die() ### Removed - Options: blob - 060bc89a75870ac5592955670542c92e70c69d89 blob + 0328e8c612b9e2a393f234d2cc0dc62c84bde83d --- lsblk.c +++ lsblk.c @@ -35,23 +35,7 @@ #include #include #include - -static __dead void die (const char *fmt, ...) -{ - va_list ap; - - va_start (ap, fmt); - fputs ("Error: ", stderr); - vfprintf (stderr, fmt, ap); - - if (errno != 0) { - fprintf (stderr, ": %s\n", strerror (errno)); - } else { - fputc ('\n', stderr); - } - - exit (1); -} +#include static int diskcount (void) { @@ -60,7 +44,7 @@ static int diskcount (void) size_t len = sizeof diskcount; if (sysctl (mib, 2, &diskcount, &len, NULL, 0) == -1) - die ("sysctl(hw.diskcount)"); + err (1, "sysctl(hw.diskcount)"); return diskcount; } @@ -73,7 +57,7 @@ static char *disknames (void) char *buffer = malloc (len); if (sysctl (mib, 2, buffer, &len, NULL, 0) == -1) - die ("sysctl(hw.disknames)"); + err (1, "sysctl(hw.disknames)"); return buffer; } @@ -287,7 +271,7 @@ static const struct statfs *find_mount (const char *de if (!mounts) { n_mounts = getmntinfo (&mounts, MNT_NOWAIT); if (n_mounts == 0) - die ("getmntinfo()"); + err (1, "getmntinfo()"); } for (int i = 0; i < n_mounts; ++i) { @@ -312,9 +296,9 @@ static struct my_diskinfo read_disk (const char *name) asprintf (&path, "/dev/%sc", name); fd = open (path, O_RDONLY); if (fd < 0) - die ("open(%s)", path); + err (1, "opendev(%s)", name); if (ioctl (fd, DIOCGDINFO, &label) < 0) - die ("ioctl(%s, DIOCGDINFO)", path); + err (1, "ioctl(%s, DIOCGDINFO)", name); close (fd); free (path); } @@ -376,10 +360,10 @@ int main (int argc, char *argv[]) int options = 0; if (unveil ("/dev", "r") == -1) - die ("unveil(/dev)"); + err (1, "unveil(/dev)"); if (unveil (NULL, NULL) == -1) - die ("unveil()"); + err (1, "unveil()"); while ((option = getopt (argc, argv, ":ainUuV")) != -1) { switch (option) { @@ -412,7 +396,7 @@ int main (int argc, char *argv[]) char *names = argc == 0 ? disknames () : NULL; if (pledge ("stdio rpath disklabel", NULL) == -1) - die ("pledge()"); + err (1, "pledge()"); size_t cap_disks; if (argc == 0) {