[Toybox] Vconfig cleanup.

Rob Landley rob at landley.net
Sat Nov 2 11:57:44 PDT 2013


When I rsync my repository up this should be  
http://landley.net/hg/toybox/rev/1103

There are still a few commands that got merged before I had "pending",  
and one of them is vconfig. First pass at cleaning that up:

1) strtol_range()

Design concern:The argument parsing logic already does this. Sharing  
infrastructure might be good. Should this go into lib, and if so should  
lib/args.c use it? (Not sure yet, but it's clearly duplicate code.)

Rename function strtorange(), for two reasons. 1) having strtol in the  
name implies strtoi and strtou variants are coming, which seems  
unlikely. But more importantly, a prefix with an underscore is  
generally used for grouping functions. It's a common prefix between  
related functions, like llist_ or dirtree_, or showing that perror_msg  
and perror_exit are related. Functions implementing a command are  
prefixed with the command's name, and the slightly oddball do_ prefix  
means it's called from loopfiles(). (That last one's not a particularly  
_good_ naming convention, but it's fairly consistent.) So I'd prefer  
not to have multipart_name() without strong reason.

Local variables: rename "endptr" to "end" because including the  
variable type in the variable name is hungarian notation (which we  
don't do), and being more verbose about it doesn't help. Similary,  
"ret_value" is just "val".

The general principle here is that the smaller the scope of the  
variable, the smaller the name can be. You don't want to grep over 1000  
lines for a variable called "e" but for a 5 line function we don't need  
to say loopIteratorVariable either. Not a big deal, but this bit of  
signaling helps me quickly get back up to speed when I haven't looked  
at an area of code in a while.

Collapse together multiple error message and reduce vocabulary: still  
trying to be easier for non-english speakers.

Remove BSD-style unnecessary braces: more of this to come.

Remove comments that provide no information. Saying vconfig_main() is  
the "vconfig main function" is not worth three lines.

That's probably enough for one pass.

Rob


More information about the Toybox mailing list