[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: [RFR] man://manpages-de/strcpy.3



Hallo Chris,

vielen Dank für Deine Arbeit.

Hier ziere ich mich einmal mehr, aber mit neuer Begründung. Die vorige Übersetzung hat Tobias gemacht, dem ich damit auch die Entscheidung überlassen möchte.


  #. type: Plain text
  msgid ""
"This function is similar to B<strncpy>(), but it copies at most I<size-1> "
<snip>
  msgstr ""
"Diese Funktion ähnelt B<strncpy>(), aber sie kopiert höchstens I<groesse-1> " "Byte zum I<ziel>, fügt immer ein abschließendes Null-Byte hinzu und füllt " "das Ziel nicht mit (weiteren) Null-Bytes auf. Diese Funktion behebt einige " "der Probleme von B<strcpy>() und B<strncpy>(), aber der Aufrufende muss sich " "mit der Möglichkeit von Datenverlust befassen, wenn I<groesse> zu klein ist. "
  "Der Rückgabewert der Funktion ist die Länge der I<quelle>, mit der die "
"Verkürzung leicht erkannt werden kann: wenn der Rückgabewert größer als oder " "gleich der I<groesse> ist, wurde verkürzt. Wenn Datenverlust nicht auftreten " "darf, I<muss> der Aufrufende entweder die Argumente vor dem Aufruf oder den "
  "Rückgabewert der Funktion prüfen. B<strlcpy>() ist nicht in der Glibc "
"vorhanden und nicht von POSIX standardisiert, sondern ist unter Linux über "
  "die Bibliothek I<libbsd> verfügbar."

  s/I<groesse-1>/I<Größe-1>
  s/I<ziel>/I<Ziel>
  ebenso für groesse, quelle

Ich habe mich für den Spagat entschieden.

Quelle und Ziel kommen mehrfach vor. Die ersten Vorkommen sind in ÜBERSICHT und BESCHREIBUNG, dort im Fließtext und einem Programmbeispiel. Dort wie vorher die Schreibweise zu ändern, erscheint mir jetzt auch nicht mehr konsistent und ich
habe es geändert.

Die "groesse" stammt aus den in der neuen Version erweiterten ANMERKUNGEN:


…

Einige Systeme (die BSDs, Solaris und andere) stellen die folgende Funk‐
       tion bereit:

           size_t strlcpy(char *ziel, const char *quelle, size_t groesse);

Diese Funktion ähnelt strncpy(), aber sie kopiert höchstens groesse-1 Byte zum ziel, fügt immer ein abschließendes Null-Byte hinzu und füllt


Wozu sollte man neigen?
 - Durchgängige Schreibweise für alle Größen gleichen Namens?
 - Verschiedene Schreibweisen wg. des unterschiedlichen Kontexts?

Was ist die richtige Schreibweise von Größe im Programmtext? 'ss' ist für
mich wg. des langen Vokals falsch (oder schweizerisch). Wie geht der
Compiler mit nicht-ASCII-Zeichen um?


Gruß,
   Martin


Und hier die geänderten Stellen:


#. type: Plain text
#, no-wrap
msgid ""
"char *\n"
"strncpy(char *dest, const char *src, size_t n)\n"
"{\n"
"    size_t i;\n"
msgstr ""
"char *\n"
"strncpy(char *Ziel, const char *Quelle, size_t n)\n"
"{\n"
"    size_t i;\n"

#. type: Plain text
#, no-wrap
msgid ""
"    for (i = 0; i E<lt> n && src[i] != \\(aq\\e0\\(aq; i++)\n"
"        dest[i] = src[i];\n"
"    for ( ; i E<lt> n; i++)\n"
"        dest[i] = \\(aq\\e0\\(aq;\n"
msgstr ""
"    for (i = 0; i E<lt> n && Quelle[i] != \\(aq\\e0\\(aq; i++)\n"
"        Ziel[i] = Quelle[i];\n"
"    for ( ; i E<lt> n; i++)\n"
"        Ziel[i] = \\(aq\\e0\\(aq;\n"

#. type: Plain text
#, no-wrap
msgid ""
"    return dest;\n"
"}\n"
msgstr ""
"    return Ziel;\n"
"}\n"


Reply to: