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:", &param);  
> 
>>         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