diff --git a/docs/users_guide/ffi-chap.xml b/docs/users_guide/ffi-chap.xml
index e778c034d0d129112c67d459f49a1c1a385b4fd8..a2fe1776126ac4decd85138e0ee9f7d1ef59ef9f 100644
--- a/docs/users_guide/ffi-chap.xml
+++ b/docs/users_guide/ffi-chap.xml
@@ -446,21 +446,25 @@ typedef enum {
           implemented in C or C++.  For example:</para>
 
 <programlisting>
- HsBool mylib_init(void){
-   int argc = ...
-   char *argv[] = ...
+#include &lt;stdlib.h&gt;
+#include "HsFFI.h"
+
+HsBool mylib_init(void){
+  int argc = 2;
+  char *argv[] = { "+RTS", "-A32m", NULL };
+  char **pargv = argv;
 
-   // Initialize Haskell runtime
-   hs_init(&amp;argc, &amp;argv);
+  // Initialize Haskell runtime
+  hs_init(&amp;argc, &amp;pargv);
 
-   // do any other initialization here and
-   // return false if there was a problem
-   return HS_BOOL_TRUE;
- }
+  // do any other initialization here and
+  // return false if there was a problem
+  return HS_BOOL_TRUE;
+}
 
- void mylib_end(void){
-   hs_exit();
- }
+void mylib_end(void){
+  hs_exit();
+}
 </programlisting>
 
         <para>The initialisation routine, <literal>mylib_init</literal>, calls