6 ms·
Though, in this case, manpage doesn't exactly spell out that two strings of which one is 0 chars long results in a match. I often remember my PHP days in horro
by fest 3y ago
Though, in this case, manpage doesn't exactly spell out that two strings of which one is 0 chars long results in a match.
I often remember my PHP days in horror, but mysqli_query manpage does warn you about SQL-injections now.
- jacquesm 3y agoIt does actually. "The strncmp() function is similar, except it compares only the first (at most) n bytes of s1 and s2." Possibly it's years of string wrangling in C that sets me up here for being biased towards the compact way in which the C manpages state what the function will do, but 'early termination' because of zero length strings for comparisions returns 0 just as sure as comparing "" and "" would. And that 0 indicates a match...
- fest 3y agoOf course an experienced developer would have thought about edge cases, but I can see a thought process like: ok, I'm comparing two strings. "" != "123" in languages with built-in string types. I'm definitely not arguing that C shouldn't be used and everybody should be using <insert-the-currently-trendy-systems-programming-language>: just thinking out loud if improved documentation could prevent at least some of the common footguns.