News for hackers. Stuff that matters.
Re:URLs in C (2011) by nayuki on Wednesday November 04, 2020 @08:52AM (#24989020)
The gotcha is that if in the same function you put in another URL with the same protocol, the compiler will refuse to compile the code due to a duplicate label.

  int main() {
      https://acceptable/
      http://okay/
      https://duplicate.error/
  }
Re:URLs in C (2011) by sgt on Wednesday November 04, 2020 @11:12AM (#24990296)
Luckily there are other protocols we can work with to bypass this limitation.

  int main() {
      gopher://myhost:151/hello.txt
      ftp://ftp.acc.umu.se/pub/netbsd
      ldap://yesherewego
      dav://getmyfiles
  }
Re:URLs in C (2011) by klodolph on Wednesday November 04, 2020 @10:32AM (#24989889)
Another gotcha is that a statement must follow. The following is an error:

    int main() {
        https://error/
        int x = 3;
    }
Re:URLs in C (2011) by colejohnson66 on Wednesday November 04, 2020 @06:09PM (#24994024)
Why?
Re:URLs in C (2011) by eindiran on Wednesday November 04, 2020 @09:20PM (#24995103)
In C, a label requires a statement[0] to come after it. A declaration in C is not a statement (though it is in C++).

gcc for example gives the error "error: a label can only be part of a statement and a declaration is not a statement" for the code in OP's comment.

g++ happily compiles it.

See the first answer here: [1]

[0] https://en.wikipedia.org/wiki/Statement_(computer_science)

[1] https://stackoverflow.com/questions/49861965/declarations-de...

Re:URLs in C (2011) by tyingq on Wednesday November 04, 2020 @11:05AM (#24990232)
Capitalizing different parts of the scheme would give you some mileage. The standard allows for it.
Re:URLs in C (2011) by iforgotpassword on Wednesday November 04, 2020 @09:47AM (#24989489)
Due to a duplicate protocol