Re: [RFR] man://manpages-de/malloc.3
Hallo Martin!
Am 18. Oktober 2012 20:32 schrieb Martin Eberhard Schauer
<Martin.E.Schauer@gmx.de>:
> 27 (31) Meldungen, 291 Zeilen PO, 125 Zeilen Handbuch
>
> Viel Spaß,
> Martin
Meine Anmerkungen:
> #. type: Plain text
> msgid ""
> "The B<free>() function frees the memory space pointed to by I<ptr>, which "
> "must have been returned by a previous call to B<malloc>(), B<calloc>() or "
> "B<realloc>(). Otherwise, or if I<free(ptr)> has already been called before, "
> "undefined behavior occurs. If I<ptr> is NULL, no operation is performed."
> msgstr ""
> "B<free>() gibt den Speicher frei, auf den I<ptr> zeigt, welcher von einem "
> "früheren Aufruf von B<malloc>(), B<calloc>() oder B<realloc>() belegt worden "
> "sein muss. Andernfalls oder wenn I<free(ptr)> bereits aufgerufen wurde, ist "
> "das Verhalten nicht definiert. Wenn I<ptr> B<NULL> ist, wird keine Operation "
> "ausgeführt."
»NULL« ist im Original nicht fett, wieso bei der Übersetzung? Und falls »NULL«
in der Übersetzung fett sein soll, dann überall. Derzeit ist es eine
Mischung aus
fett und nicht fett:
s/B<NULL>/NULL/
Wenn die Mischung fett/kurisv bleibt, dann:
s/I<free(ptr)>/B<free(>I<ptr>B<)>/
> #. type: Plain text
> msgid ""
> "The B<realloc>() function changes the size of the memory block pointed to "
> "by I<ptr> to I<size> bytes. The contents will be unchanged in the range "
> "from the start of the region up to the minimum of the old and new sizes. If "
> "the new size is larger than the old size, the added memory will I<not> be "
> "initialized. If I<ptr> is NULL, then the call is equivalent to I<malloc"
> "(size)>, for all values of I<size>; if I<size> is equal to zero, and I<ptr> "
> "is not NULL, then the call is equivalent to I<free(ptr)>. Unless I<ptr> is "
> "NULL, it must have been returned by an earlier call to B<malloc>(), B<calloc>"
> "() or B<realloc>(). If the area pointed to was moved, a I<free(ptr)> is "
> "done."
> msgstr ""
> "B<realloc>() ändert die Größe des Speicherblocks, auf den I<ptr> zeigt, auf "
> "I<size> Byte. Der Inhalt bleibt unverändert im Bereich vom Anfang des "
> "Speicherbereichs bis zum Minimum von alter und neuer Größe. Falls die neue "
> "Größe die alte überschreitet, wird der zusätzliche Speicher I<nicht> "
> "initialisiert. Falls I<ptr> gleich B<NULL> ist, ist der Aufruf äquivalent zu "
> "B<malloc>(I<(size>B<)>; falls die Größe gleich Null ist und I<ptr> ist von "
> "NULL verschieden, ist der Aufruf äquivalent zu B<free(>I<ptr>B<)>. Wenn "
> "I<ptr> nicht B<NULL> ist, muss er von einem früheren Aufruf von B<malloc>(), "
> "B<calloc>() oder B<realloc>() zurückgegeben worden sein."
Auch hier:
s/B<NULL>/NULL/
Noch eine Änderung zum Original, die ich unschön finde:
s/B<malloc>(I<(size>B<)>/I<malloc(size)/
s/B<free(>I<ptr>B<)>/I<free(ptr)>
Wenn die Mischung fett/kurisv bleibt, dann (Klammer zu viel und falsch
markiert):
s/B<malloc(>I<size>B<)>
> #. type: Plain text
> msgid ""
> "Crashes in B<malloc>(), B<calloc>(), B<realloc>(), or B<free>() are almost "
> "always related to heap corruption, such as overflowing an allocated chunk or "
> "freeing the same pointer twice."
> msgstr ""
> "Abstürze in B<malloc>(), B<calloc>(), B<realloc>(), or B<free>() haben "
> "nahezu immer einen Bezug zu einem beschädigten Heap, wie z.B. eine Nutzung "
> "von mehr als dem zugeordneten Bereich (overflowing) oder die zweimalige "
> "Freigabe eines Zeigers."
s/ B<realloc>(), or B<free>()/ B<realloc>() oder B<free>()/
> #. type: Plain text
> msgid ""
> "The B<realloc>() function returns a pointer to the newly allocated memory, "
> "which is suitably aligned for any kind of variable and may be different from "
> "I<ptr>, or NULL if the request fails. If I<size> was equal to 0, either "
> "NULL or a pointer suitable to be passed to B<free>() is returned. If "
> "B<realloc>() fails the original block is left untouched; it is not freed or "
> "moved."
> msgstr ""
> "Die Funktion B<realloc>() gibt einen Zeiger auf den neu belegten Speicher "
> "zurück, welcher für alle Arten von Variablen passend ausgerichtet ist und "
> "sich von I<ptr> unterscheiden kann, oder B<NULL> falls die Anforderung "
> "scheitert. Falls I<size> gleich 0 war, wird entweder NULL oder ein für die "
> "Übergabe an B<free>() geeigneter Zeiger zurückgegeben. Wenn B<realloc>() "
> "scheitert, bleibt der ursprüngliche Block unverändert - er wird nicht "
> "freigegeben oder verändert."
Hier auch:
s/oder B<NULL> falls/oder NULL falls/
ansonsten:
s/entweder NULL oder/entweder B<NULL> oder/
Grüße
ErikE
Reply to: