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.
[ Parent
| on HN ]
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
}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?
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...
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