Bug in string.erl
Thu Nov 6 09:01:09 CET 2003
I have put this on my TODO list for R10, let's hope I find the time. I
saw that there are more functions in the module that possibly also are
/ Raimo Niskanen, Erlang/OTP, Ericsson AB
Robert Virding wrote:
> ----- Original Message -----
> From: "Joe Armstrong" <joe@REDACTED>
> To: <erlang-questions@REDACTED>
> Sent: Tuesday, November 04, 2003 8:02 PM
> Subject: Bug in string.erl
>> But is was an atom ... did I get an exit - No for
>> > string:substr(aa, 1, 20).
>> Wow (Static type systems 1, Joe 0)
>> The code in string.erl says
>> --- quote ---
>> substr1([C|String], L) when L > 0 -> [C|substr1(String, L-1)];
>> substr1(String, L) -> . %Be nice!
>> --- end quote ---
>> I rather like the "%Be nice!" comment.
>> IMHO all the functions in string should exit when the "string" argument
>>is not a list - I'm not asking that you "deep check" the list but a little
>>help might be nice
> Yes it is defintely a bug. The problem is that I was trying to be nice in the case where the desried substring length is longer than the remaining string inwhich case the substring just gets the remaining characters. So
> string:substr("abcd", 2, 5) -> "cd"
> The second should of course be:
> substr1(String, L) when list(String) -> . %Be nice!
More information about the erlang-questions