On Wed, Aug 13, 2025 at 01:20:34PM +0100, David Laight wrote: > On Sun, 10 Aug 2025 19:11:52 +0530 > Ojaswin Mujoo <ojaswin@xxxxxxxxxxxxx> wrote: > > > Many programs open code these functionalities so add it as a generic helper > > in common/rc > > > > Reviewed-by: Darrick J. Wong <djwong@xxxxxxxxxx> > > Signed-off-by: Ojaswin Mujoo <ojaswin@xxxxxxxxxxxxx> > > --- > > common/rc | 22 ++++++++++++++++++++++ > > 1 file changed, 22 insertions(+) > > > > diff --git a/common/rc b/common/rc > > index 96578d15..3858ddce 100644 > > --- a/common/rc > > +++ b/common/rc > > @@ -5873,6 +5873,28 @@ _require_program() { > > _have_program "$1" || _notrun "$tag required" > > } > > > > +_min() { > > + local ret > > + > > + for arg in "$@"; do > > + if [ -z "$ret" ] || (( $arg < $ret )); then > > + ret="$arg" > > + fi > > + done > > + echo $ret > > +} > > Perhaps: > local ret="$1" > shift > for arg in "$@"; do > ret=$(((arg) < (ret) ? (arg) : (ret))) > done; > echo "$ret" > that should work for 'min 10 "2 + 3"' (with bash, but not dash). > > David Hi David, Thanks for the feedback. I agree that your way is slightly better but i would like to keep the current patch as is since we already have some reviews on it and I would prefer to keep the code as is (especially since both ways are close enough). Hope this is okay. Also, we can always do _min 10 $((2 + 3)) which is a bit more intuitive imo Regards, ojaswin > > > + > > +_max() { > > + local ret > > + > > + for arg in "$@"; do > > + if [ -z "$ret" ] || (( $arg > $ret )); then > > + ret="$arg" > > + fi > > + done > > + echo $ret > > +} > > + > > ################################################################################ > > # make sure this script returns success > > /bin/true >