Re:C and returning values quickly or safely, but not both
by tsimionescu on Friday January 19, 2024 @02:17AM
(#39052515)
In C, you don't even have to cast const away, since all pointer types are implicitly convertible between each other. So you can pass a `const int*` to a function that takes a `int*` with only a compiler warning, no errors.
[ Parent
| on HN ]
Re:C and returning values quickly or safely, but not both
by outsomnia on Friday January 19, 2024 @02:34AM
(#39052653)
Actually what's a warning or not is implementation defined, it's not defined in C.
If you're serious about your code, you will turn on -Werror -Wall -Wextra and anything else you don't like the look of, use static analysis and so on that makes this class of complaint moot.
Re:C and returning values quickly or safely, but not both
by lmm on Monday January 22, 2024 @01:28AM
(#39086928)
> If you're serious about your code, you will turn on -Werror -Wall -Wextra and anything else you don't like the look of, use static analysis and so on that makes this class of complaint moot.
No it doesn't. No-one has ever come up with a concrete set of rules for how to build C and not have embarrassingly basic security bugs. It's always some vague "oh, if you use enough warnings and static analysis it's not a problem", and if you have security bugs evidently you weren't using enough, and if it's impossible to write anything or use any libraries then evidently you were using too many. A C language that actually works is vaporware.