seirei 2007-09-24 22:40:01 UTC
FreeBSD German Documentation Repository
Modified files:
books/developers-handbook/x86 chapter.sgml
Log:
Noch ausstehende Absaetze uebersetzt.
Revision Changes Path
1.17 +42 -36 de-docproj/books/developers-handbook/x86/chapter.sgml
Index: chapter.sgml
===================================================================
RCS file: /home/cvs/de-docproj/books/developers-handbook/x86/chapter.sgml,v
retrieving revision 1.16
retrieving revision 1.17
diff -u -I$FreeBSDde.*$ -r1.16 -r1.17
--- chapter.sgml 21 Sep 2007 21:38:20 -0000 1.16
+++ chapter.sgml 24 Sep 2007 22:40:00 -0000 1.17
@@ -2630,42 +2630,46 @@
</sect2>
<sect2 id="x86-ftruncate">
- <title>Ändern der Datei Grösse</title>
+ <title>Ändern der Dateigrösse</title>
- <para>Because our program may combine carriage return / line
- feed sequences into straight line feeds, our output may be
- smaller than our input. However, since we are placing our
- output into the same file we read the input from, we may have
- to change the size of the file.</para>
-
- <para>The <function role="syscall">ftruncate</function> system
- call allows us to do just that. Despite its somewhat
- misleading name, the <function
- role="syscall">ftruncate</function> system call can be used to
- both truncate the file (make it smaller) and to grow
- it.</para>
-
- <para>And yes, we will find two versions of <function
- role="syscall">ftruncate</function> in
- <filename>syscalls.master</filename>, an older one (130), and
- a newer one (201). We will use the newer one:</para>
+ <para>Dadurch das unser Programm
+ Wagenrücklauf/Zeilenvorschub-Sequenzen in einfache
+ Zeilenvorschübe zusammenfassen könnte, könnte
+ unsere Ausgabe kleiner sein als unsere Eingabe. Und da wir die
+ Ausgabe in dieselbe Datei um, aus der wir unsere Eingabe
+ erhalten, müssen wir eventuell die Dateigrösse
+ anpassen.</para>
+
+ <para>Der Systemaufruf <function
+ role="syscall">ftruncate</function> erlaubt uns, dies zu tun.
+ Abgesehen von dem etwas unglücklich gewählten Namen
+ <function role="syscall">ftruncate</function> können wir
+ mit dieser Funktion eine Datei vergrössern, oder
+ verkleinern.</para>
+
+ <para>Und ja, wir werden zwei Versionen von <function
+ role="syscall">ftruncate</function> in
+ <filename>syscalls.master</filename> finden, eine ältere
+ (130) und eine neuere (201). Wir werden die neuere Version
+ verwenden:</para>
<programlisting>
201 STD BSD { int ftruncate(int fd, int pad, off_t length); }
</programlisting>
- <para>Please note that this one contains a
- <varname>int pad</varname> again.</para>
+ <para>Beachten Sie bitte, dass hier wieder <varname>int
+ pad</varname> verwendet wird.</para>
</sect2>
<sect2 id="x86-ftuc">
<title>ftuc</title>
- <para>We now know everything we need to write
- <application>ftuc</application>. We start by adding some new
- lines in <filename>system.inc</filename>. First, we define
- some constants and structures, somewhere at or near the
- beginning of the file:</para>
+ <para>Wir wissen jetzt alles nötige, um
+ <application>ftuc</application> zu schreiben. Wir beginnen,
+ indem wir ein paar neue Zeilen der Datei
+ <filename>system.inc</filename> hinzufügen. Als erstes
+ definieren wir irgendwo am Anfang der Datei einige Konstanten
+ und Strukturen:</para>
<programlisting>
;;;;;;; open flags
@@ -2707,7 +2711,7 @@
endstruc
</programlisting>
- <para>We define the new syscalls:</para>
+ <para>Wir definieren die neuen Systemaufrufe:</para>
<programlisting>
%define SYS_mmap 197
@@ -2716,7 +2720,7 @@
%define SYS_ftruncate 201
</programlisting>
- <para>We add the macros for their use:</para>
+ <para>Wir fügen die Makros hinzu:</para>
<programlisting>
%macro sys.mmap 0
@@ -2736,7 +2740,7 @@
%endmacro
</programlisting>
- <para>And here is our code:</para>
+ <para>Und hier ist unser Code:</para>
<programlisting>
;;;;;;; Fast Text-to-Unix Conversion (ftuc.asm) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
@@ -2978,14 +2982,16 @@
</programlisting>
<warning>
- <para>Do not use this program on files stored on a disk
- formated by <acronym>&ms-dos;</acronym> or &windows;.
- There seems to be a subtle bug in the FreeBSD code when
- using <function role="syscall">mmap</function> on these
- drives mounted under FreeBSD: If the file is over a
- certain size, <function role="syscall">mmap</function>
- will just fill the memory with zeros, and then copy them
- to the file overwriting its contents.</para>
+ <para>Verwenden Sie dieses Programm nicht mit Dateien, die
+ sich auf Datenträgern befinden, welche mit
+ <acronym>&ms-dos;</acronym> oder &windows; formatiert
+ wurden. Anscheinend gibt es im Code von FreeBSD einen
+ subtilen Bug, wenn <function role="syscall">mmap</function>
+ auf solchen Datenträgern verwendet wird: Wenn die Datei
+ eine bestimmte Grösse überschreitet, füllt
+ <function role="syscall">mmap</function> den Speicher mit
+ lauter Nullen, und überschreibt damit anschliessend den
+ Dateiinhalt.</para>
</warning>
</sect2>
</sect1>
To Unsubscribe: send mail to majordomo(at)de.FreeBSD.org
with "unsubscribe de-cvs-doc" in the body of the message
Received on Tue 25 Sep 2007 - 00:41:31 CEST