$NetBSD: patch-ab,v 1.5 2006/06/19 22:05:14 joerg Exp $

--- src/os_dependent.cc.orig	2005-08-25 21:57:41.000000000 +0000
+++ src/os_dependent.cc
@@ -27,6 +27,7 @@ Boston, MA 02111-1307, USA.  */
 #include <stdlib.h>
 #include <unistd.h>
 #include <string>
+#include <string.h>
 
 #include <iostream>
 #include <iomanip>
@@ -37,6 +38,10 @@ Boston, MA 02111-1307, USA.  */
 #include "exports.h"
 #include "modules.h"
 
+#if defined(__DragonFly__)
+#include <glib/gstrfuncs.h>
+#include <glib/gmem.h>
+#endif
 #ifndef _WIN32
 #include <dlfcn.h>
 #define STRICMP strcasecmp
@@ -348,7 +353,9 @@ unsigned long get_error() {
 }
 
 char * get_error_message() {
-#ifndef _WIN32
+#if defined(__DragonFly__)
+  return g_strdup(dlerror());
+#elif !defined(_WIN32)
   return dlerror();
 #else
   return g_win32_error_message(GetLastError());
@@ -357,7 +364,7 @@ char * get_error_message() {
 
 void free_error_message(char * pszError)
 {
-#ifdef _WIN32
+#if defined(_WIN32) || defined(__DragonFly__)
   g_free(pszError);
 #endif
 }
