On Wed, May 16, 2012 at 10:52:40AM +0200, Voelker, Bernhard wrote: > Petr Uzel wrote: > > > #include "ismounted.h" > > > > -#define STRTOXX_EXIT_CODE 4 /* strtoxx_or_err() */ > > +#define STRTOXX_EXIT_CODE BLKID_EXIT_OTHER /* strtoxx_or_err() */ > > STRTOXX_EXIT_CODE is not used in blkid.c. Remove it? > ... or if it used in strutils.h, then this is not a nice interface. Yep, it is used in strutils.h. > > > #include "strutils.h" > > #include "closestream.h" > > #include "ttyutils.h" > > @@ -484,7 +488,7 @@ static int lowprobe_device(blkid_probe pr, const char *devname, > > fd = open(devname, O_RDONLY); > > if (fd < 0) { > > fprintf(stderr, "error: %s: %m\n", devname); > > - return 2; > > + return BLKID_EXIT_NOTFOUND; > > } > > if (blkid_probe_set_device(pr, fd, offset, size)) > > goto done; > > @@ -551,9 +555,9 @@ done: > > close(fd); > > > > if (rc == -2) > > - return 8; /* ambivalent probing result */ > > + return BLKID_EXIT_AMBIVAL; /* ambivalent probing result */ > > if (!nvals) > > - return 2; /* nothing detected */ > > + return BLKID_EXIT_NOTFOUND; /* nothing detected */ > > > > return 0; /* success */ > > } > > These are not exit() codes, but return codes. Strictly speaking, yes. But the idea is that those codes are (or rather should be) propagated as exit value anyways... > That value doesn't seem > to be of much interest anyway, because it's used only here in main() > in a for-loop, forgetting the return value of the previous iteration: > > for (i = 0; i < numdev; i++) > err = lowprobe_device(pr, devices[i], lowprobe, show, > output_format, > (blkid_loff_t) offset, > (blkid_loff_t) size); Hmm, the return value depends only on the last argument (device). I don't think this is intentional. Karel? # blkid -p /dev/sda /dev/sdb ; echo $? /dev/sda: PTTYPE="gpt" error: /dev/sdb: No such file or directory 2 # blkid -p /dev/sdb /dev/sda ; echo $? error: /dev/sdb: No such file or directory /dev/sda: PTTYPE="gpt" 0 > > Have a nice day, > Berny Thanks, Petr -- Petr Uzel IRC: ptr_uzl @ freenode
Attachment:
pgp4oXWQ8t_H3.pgp
Description: PGP signature