this post was submitted on 25 Feb 2024
272 points (98.2% liked)

linuxmemes

21103 readers
2006 users here now

Hint: :q!


Sister communities:


Community rules (click to expand)

1. Follow the site-wide rules

2. Be civil
  • Understand the difference between a joke and an insult.
  • Do not harrass or attack members of the community for any reason.
  • Leave remarks of "peasantry" to the PCMR community. If you dislike an OS/service/application, attack the thing you dislike, not the individuals who use it. Some people may not have a choice.
  • Bigotry will not be tolerated.
  • These rules are somewhat loosened when the subject is a public figure. Still, do not attack their person or incite harrassment.
  • 3. Post Linux-related content
  • Including Unix and BSD.
  • Non-Linux content is acceptable as long as it makes a reference to Linux. For example, the poorly made mockery of sudo in Windows.
  • No porn. Even if you watch it on a Linux machine.
  • 4. No recent reposts
  • Everybody uses Arch btw, can't quit Vim, and wants to interject for a moment. You can stop now.

  • Please report posts and comments that break these rules!

    founded 1 year ago
    MODERATORS
     
    you are viewing a single comment's thread
    view the rest of the comments
    [–] [email protected] 42 points 8 months ago (1 children)

    Wow, that is an unhelpful error message. It could have told you it was expecting a number. It turns out that -i is short for "interval" and expects a number, whereas -I is used to specify an interface.

    [–] [email protected] 15 points 8 months ago

    This exactly. And because this is open-source, its super easy to track this down. I searched for the source of the error message:

    https://github.com/iputils/iputils/blob/3400f3a740942064a545f02aabcf68e234733297/ping/ping.c#L237

    see this is ping_strtod function - so search for that function name and the first hit is the '-i' case:

    		case 'i':
    		{
    			double optval;
    
    			optval = ping_strtod(optarg, _("bad timing interval"));
    			if (isless(optval, 0) || isgreater(optval, (double)INT_MAX / 1000))
    				error(2, 0, _("bad timing interval: %s"), optarg);
    			rts.interval = (int)(optval * 1000);
    			rts.opt_interval = 1;
    		}
    			break;