 +                * order, and feed the buf buffer for the original program
 +                * business logic to parse
 +                */
-+               kdbGetValueByParent(entrykeyname,"runlevels",
++               kdbGetValueByParent(handle, entrykeyname,"runlevels",
 +               bufcursor,sizeof(buf)-(bufcursor-buf));
 +               strcat(buf,separator);
 +               bufcursor=buf+strlen(buf);
 +
-+               kdbGetValueByParent(entrykeyname,"action",
++               kdbGetValueByParent(handle, entrykeyname,"action",
 +                       bufcursor,sizeof(buf)-(bufcursor-buf));
 +               strcat(buf,separator);
 +               bufcursor=buf+strlen(buf);
-+	       kdbGetValueByParent(entrykeyname,"process",
++	       kdbGetValueByParent(handle, entrykeyname,"process",
 +               bufcursor,sizeof(buf)-(bufcursor-buf));
 +
 +               strcat(buf,"\n"); /* original parser bellow needs this */

+  int useinittab=0;
+  char sequence[500]; /* a big enough buffer */
+  char *seqcursor=sequence;
+
+  /* we really need it all zeroed to make get_part() work correctly */
+  memset(sequence,0,sizeof(sequence));

+   After compiling you can check it and see these results:
+
+      bash$ ldd ./init
+        libelektra.so => /lib/libelektra.so (0xb75d8000)
+        libc.so.6 => /lib/tls/libc.so.6 (0xb749f000)
+        /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0xb75eb000)
+
