rem: if (step >= 0) { error (0, 0, _("when the starting value is larger than the limit,\n\ the increment must be negative")); usage (EXIT_FAILURE); }  printf (fmt, first); for (i = 1; ; i++) { double x = first + i * step;  if (x < last) break;  fputs (separator, stdout); printf (fmt, x); } } else { int i;  if (step <= 0) { error (0, 0, _("when the starting value is smaller than the limit,\n\ the increment must be positive")); usage (EXIT_FAILURE); }  printf (fmt, first); for (i = 1; ; i++) { double x = first + i * step;  if (x > last) break;  fputs (separator, stdout); printf (fmt, x); } } fputs (terminator, stdout);  return 0;
add: if (i) fputs (terminator, stdout);
context: print_numbers (const char *fmt){  if (first > last)    {      int i;      if (step >= 0)	{	  error (0, 0,		 _("when the starting value is larger than the limit,\n\the increment must be negative"));	  usage (EXIT_FAILURE);	}      printf (fmt, first);      for (i = 1; /* empty */; i++)	{	  double x = first + i * step;	  if (x < last)	    break;	  fputs (separator, stdout);	  printf (fmt, x);	}    }  else    {      int i;      if (step <= 0)	{	  error (0, 0,		 _("when the starting value is smaller than the limit,\n\the increment must be positive"));	  usage (EXIT_FAILURE);	}      printf (fmt, first);      for (i = 1; /* empty */; i++)	{	  double x = first + i * step;	  if (x > last)	    break;	  fputs (separator, stdout);	  printf (fmt, x);	}    }  fputs (terminator, stdout);  return 0;}