6 Jun
2002
6 Jun
'02
17:31
Moin, * Bernhard Walle[02-06-06 10:00]: >On Thu, 06 Jun 2002 at 00:25 (+0200), Thorsten Haude wrote: >> * Bernhard Walle [02-06-05 23:50]: >> Der Unterschied soll (!) Dich nur darüber nachdenken lassen, warum >> evtl. manche Leute behaupten, daß Stringoperationen in Perl einfacher >> zu machen sind als in C. >Habe ich das behauptet? Bernd hat das behauptet, nicht ich. >Bernd => Bernd Brodesser >Ich => Bernhard Walle Oops, da habe ich die Bs verwechselt, sorry. >> >Auf der anderen Seite muss bei strlcpy() der src-String \0-terminiert >> >sein; bei strncpy nicht; d. h. während strncpy() einfach bei n >> >aufhört zu lesen schaut sich strlcpy() den ganzen String an, was >> >AFAIK zu Speicherzugriffsfehlern führen kann. >> Woran erkennst Du das? Ich kann das nicht erkennen: >> - - - Schnipp - - - >> The strlcpy() function copies up to size - 1 characters from the >> NUL-terminated string src to dst, NUL-terminating the result. >> - - - Schnapp - - - >- - - Schnipp - - - >Also note that strlcpy() and strlcat() only operate on true ``C'' >strings. This means that for strlcpy() src must be NUL-terminated and > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >for strlcat() both src and dst must be NUL-terminated. >- - - Schnapp - - - > >- - - Schnipp - - - >[...]Unlike those functions, strlcpy() and strlcat() take the full >size of the buffer (not just the length) >- - - Schnapp - - - Schon wieder oops, habe ich glatt überlesen. Allerdings ist auch im bösen Fall (zu langer src) ein sauberer String gewährleistet, das macht den Unterschied aus. Thorsten -- Just because you do not take an interest in politics doesn't mean politics won't take an interest in you. - Pericles