Devin Teske d4ae33f072 Performance and debugging enhancements:
+ Remove UNAME_P=$(...) from startup/misc -- already supplied by common.subr
+ Use f_getvar instead of $(eval echo \$$var) -- f_getvar is sub-shell free
+ Add `-e' and `-k var' options to f_eval_catch -- increasing use-cases
+ Use f_eval_catch to display errors on failure -- reducing duplicated code
+ Use f_eval_catch when we need output from a command -- improving debugging
+ Optimize f_isinter of strings.subr for performance -- now sub-shell free
+ Improve error checking on pidfiles -- using f_eval_catch and f_isinteger
+ Use $var_to_set arg of f_ifconfig_{inet,netmask} -- eliminate sub-shells
+ Use f_sprintf instead of $(printf ...) -- consolidate sub-shells
+ Use $var_to_set arg of f_route_get_default -- eliminate sub-shells
+ Add f_count to replace $(set -- ...;echo $#) -- eliminate sub-shells
+ Add f_count_ifs to replace $(IFS=x;set -- ...;echo $#) -- no sub-shells
+ Replace var="$var${var:+ }..." in loops with var="$var ..." with a follow-
  up var="${var# }" to trim leading whitespace -- optimize loops
+ Use $var_to_set arg of f_resolv_conf_nameservers -- eliminate sub-shells
+ Comments for the f_eval_catch function
+ Remove a duplicate `local ... desc ...' in f_device_get_all of device.subr
+ Use $var_to_set arg of f_device_capacity -- eliminate sub-shells
+ Whitespace fixes in f_dialog_init of dialog.subr
+ Optimize f_inet_atoi of media/tcpip.subr for performance -- sub-shell free
+ In several cases, send stderr to /dev/null -- clean up runtime execution
+ Change f_err of common.subr to go to program stderr not terminal stderr,
  allowing redirection of output from functions that use f_err
+ Disable debugging when using f_getvar to get variable argument to
  f_startup_rcconf_map_expand of startup/rcconf.subr
+ Use f_replace_all instead of $(echo ... | tr | sed) -- performance
+ Add a $var_to_set option to f_index_{file,menusel_{command,keyword}} of
  common.subr -- centralize sub-shells
2013-12-07 00:31:01 +00:00
..
2013-03-17 06:54:04 +00:00
2013-07-10 07:40:30 +00:00
2013-12-02 19:49:52 +00:00
2012-10-07 19:53:04 +00:00
2013-10-30 11:41:28 +00:00
2013-12-02 09:47:22 +00:00
2013-05-10 16:41:26 +00:00
2013-11-15 20:01:07 +00:00
2012-03-26 21:22:53 +00:00
2012-03-26 15:18:14 +00:00
2013-10-09 13:48:08 +00:00
2012-09-01 10:56:15 +00:00
2010-12-20 08:54:30 +00:00
2013-04-11 18:46:41 +00:00
2012-05-17 11:50:12 +00:00
2010-12-20 09:36:54 +00:00
2012-07-04 10:17:02 +00:00
2012-09-11 07:35:24 +00:00
2013-04-11 18:46:41 +00:00
2013-09-07 20:25:22 +00:00
2013-04-22 18:31:39 +00:00
2013-05-13 18:13:50 +00:00
2013-05-12 22:22:12 +00:00
2012-03-26 21:22:53 +00:00
2013-11-21 19:31:57 +00:00
2013-07-15 05:09:13 +00:00