diff --git a/doc/lfun/ClearRingBuffer b/doc/lfun/ClearRingBuffer
index 0095dec..869d298 100644
--- a/doc/lfun/ClearRingBuffer
+++ b/doc/lfun/ClearRingBuffer
@@ -1,34 +1,56 @@
+
 ClearRingBuffer()
+*****************
 
-FUNKTION:
-    protected struct std_ringbuffer ClearRingBuffer(struct std_ringbuffer b);
 
-DEFINIERT IN:
-    /std/util/ringbuffer.c
-    /sys/util/ringbuffer.h
+FUNKTION
+========
 
-ARGUMENTE:
-    b - der zu loeschende Ringpuffer
+   protected struct std_ringbuffer ClearRingBuffer(struct std_ringbuffer b);
 
-BESCHREIBUNG:
-    Diese Funktion loescht alle Daten aus dem Puffer <b> und re-initialisiert
-    ihn.
-    
-RUeCKGABEWERT:
-    Der geloeschte Puffer <b> wird wieder zurueckgegeben.
 
-BEISPIELE:
-    // Ringpuffer anlegen:
-    struct std_ringbuffer buffer=CreateRingBuffer(10, MODE_FIFO);
-    // mit irgendwelchen Daten fuellen...
-    // ...
-    // Puffer loeschen
-    buffer = ClearRingBuffer(buffer);
-    // oder:
-    ClearRingBuffer(buffer);
+DEFINIERT IN
+============
 
-SIEHE AUCH:
-    CreateRingBuffer(), RingBufferGet(), ResizeRingBuffer()
+   /std/util/ringbuffer.c
+   /sys/util/ringbuffer.h
+
+
+ARGUMENTE
+=========
+
+   b - der zu loeschende Ringpuffer
+
+
+BESCHREIBUNG
+============
+
+   Diese Funktion loescht alle Daten aus dem Puffer <b> und re-initialisiert
+   ihn.
+
+
+RUeCKGABEWERT
+=============
+
+   Der geloeschte Puffer <b> wird wieder zurueckgegeben.
+
+
+BEISPIELE
+=========
+
+   // Ringpuffer anlegen:
+   struct std_ringbuffer buffer=CreateRingBuffer(10, MODE_FIFO);
+   // mit irgendwelchen Daten fuellen...
+   // ...
+   // Puffer loeschen
+   buffer = ClearRingBuffer(buffer);
+   // oder:
+   ClearRingBuffer(buffer);
+
+
+SIEHE AUCH
+==========
+
+   CreateRingBuffer(), RingBufferGet(), ResizeRingBuffer()
 
 23.05.2008, Zesstra
-
