add: if (n < sort_size) return;
context: specify_sort_size (char const *s){  uintmax_t n;  char *suffix;  enum strtol_error e = xstrtoumax (s, &suffix, 10, &n, "EgGkKmMPtTYZ");  /* The default unit is KiB.  */  if (e == LONGINT_OK && ISDIGIT (suffix[-1]))    {      if (n <= UINTMAX_MAX / 1024)	n *= 1024;      else	e = LONGINT_OVERFLOW;    }  /* A 'b' suffix means bytes; a '%' suffix means percent of memory.  */  if (e == LONGINT_INVALID_SUFFIX_CHAR && ISDIGIT (suffix[-1]) && ! suffix[1])    switch (suffix[0])      {      case 'b':	e = LONGINT_OK;	break;      case '%':	{	  double mem = physmem_total () * n / 100;	  /* Use "<", not "<=", to avoid problems with rounding.  */	  if (mem < UINTMAX_MAX)	    {	      n = mem;	      e = LONGINT_OK;	    }	  else	    e = LONGINT_OVERFLOW;	}	break;      }  if (e == LONGINT_OK)    {      sort_size = n;      if (sort_size == n)	{	  sort_size = MAX (sort_size, MIN_SORT_SIZE);	  return;	}      e = LONGINT_OVERFLOW;    }  STRTOL_FATAL_ERROR (s, _("sort size"), e);}