rewrite: watch.c
walter harms
WHarms at bfs.de
Sat Feb 23 12:33:44 UTC 2008
Tito wrote:
> On Friday 22 February 2008 19:13:51 walter harms wrote:
>> hi list,
>> this simplifies the coding of the watch utility.
>> I does not save much bytes but it thing it is easier to read
>> now. I have changed the date time display as the old one eat
>> to much space.
>>
>> Note:
>> perhaps it even make sense to make the time display dynamic
>> if someone is bored ,,,
>>
>>
>> re,
>> wh
>>
>>
>>
>
> Hi,
>
>> int watch_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
>> int watch_main(int argc, char **argv)
>> {
>> unsigned opt;
>> unsigned period = 2;
>> char *header = NULL;
>> char *cmd;
>>
>> opt_complementary = "-1"; // at least one param please
>> opt = getopt32(argv, "+dtn:", &cmd);
>>
>> if (opt & 0x4) period = xatou(cmd);
>
> getopt32 can do this for us:
> "a+:" A plus after a char in opt_complementary means that the parameter
> for this option is a nonnegative integer. It will be processed
> with xatoi_u() - allowed range is 0..INT_MAX.
>
i tried and failed:
opt_complementary = "-1:n+";
opt = getopt32(argv, "+dtn:", &period);
the '+' option is not mentioned in the libbb/getopt32.c of 1.9.1
did i miss something ?
> int param; // "unsigned param;" will also work
> opt_complementary = "p+";
> getopt32(argv, "p:", ¶m);
>
>> argv += optind;
>> cmd=NULL;
>
> Maybe char *xasprintf(const char *format, ...) because it checks
> for malloc errors and is portable on systems that don't have asprintf...
>
>> asprintf(&cmd,"%s",*argv );
>> while (*++argv)
>> asprintf(&cmd,"%s %s",cmd,*argv );
>
>> while (1) {
>
done, actualy this was already an older version of my watch.c seems i mixed something up :)
re,
wh
-------------- next part --------------
A non-text attachment was scrubbed...
Name: watch.c
Type: text/x-chdr
Size: 1786 bytes
Desc: not available
Url : http://lists.busybox.net/pipermail/busybox/attachments/20080223/5502f720/attachment-0002.h
More information about the busybox
mailing list