Re: New and improved? patch [ fwcontrol ]
Dieter <[email protected]>
| Newsgroups | gmane.os.freebsd.devel.firewire |
|---|---|
| Message-ID | <[email protected]> |
> > 7.0 AMD64 # ./fwcontrol -f -5
> > fwcontrol: main:set_root_node out of range: No such file or directory
> >
> > "No such file or directory" seems wrong
>
> err(EX_USAGE, "%s:set_root_node out of range", __func__);
>
> Err() is correct for places where errno would be set, such as
> checking the return code from read(2). But for the range checks,
> errno does not apply, so err() gives misleading results.
>
> The err(3) man page isn't clear, but it looks like errx(3) is
> the function you want for the range checks.
>
> Changing err() to errx() gives:
>
> 7.0 AMD64 # ./fwcontrol -f 70
> fwcontrol: main:set_root_node out of range
Also, I'm thinking we probably don't want "\n" in the err() and errx()
calls, since they put that in automagically.
When a file cannot be opened, it is useful to print the name
of the file.
int len=1024, i;
if ((file = fopen(filename, "r")) == NULL)
- err(1, "load_crom");
+ err(1, "load_crom filename = %s", filename);
for (i = 0; i < len/(4*8); i ++) {
fscanf(file, DUMP_FORMAT,
p, p+1, p+2, p+3, p+4, p+5, p+6, p+7);
if (open_dev(&fd, devbase) < 0) {
- errx(EX_IOERR, "%s: Error opening board #%d\n", __func__, current_board);
+ err(EX_IOERR, "%s: Error opening firewire controller #%d %s ",
+ __func__, current_board, devbase);
}
}
/*
Since open_dev() calls open(2), which sets errno, this time
we want err(3) rather than errx(3).
_______________________________________________
[email protected] mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-firewire
To unsubscribe, send any mail to "[email protected]"