$OpenBSD$
--- indra/llcommon/llstring.h.orig	Wed Nov  7 20:18:06 2007
+++ indra/llcommon/llstring.h	Wed Nov 21 19:47:28 2007
@@ -32,7 +32,7 @@
 #ifndef LL_LLSTRING_H
 #define LL_LLSTRING_H
 
-#if LL_LINUX || LL_SOLARIS
+#if LL_LINUX || LL_SOLARIS || defined(__OpenBSD__)
 #include <wctype.h>
 #include <wchar.h>
 #endif
@@ -46,8 +46,9 @@ class LLUUID;
 class LLColor4;
 class LLColor4U;
 
-#if (LL_DARWIN || LL_SOLARIS || (LL_LINUX && __GNUC__ > 2))
+#if (LL_DARWIN || LL_SOLARIS || (LL_LINUX && __GNUC__ > 2) || defined(__OpenBSD__))
 // Template specialization of char_traits for U16s. Only necessary on Mac for now (exists on Windows, unused/broken on Linux/gcc2.95)
+#define U16	u_int16_t
 namespace std
 {
 template<>
@@ -197,7 +198,7 @@ class LLStringBase : public std::basic_string<T>  (pub
 	LLStringBase(const T* s, size_type n);
 	LLStringBase(const T* s, size_type pos, size_type n );
 	
-#if LL_LINUX || LL_SOLARIS
+#if LL_LINUX || LL_SOLARIS || defined(__OpenBSD__)
 	void clear() { assign(null); }
 	
 	LLStringBase<T>& assign(const T* s);
@@ -711,7 +712,7 @@ LLStringBase<T>::LLStringBase(const T* s, size_type po
 	}
 }
 
-#if LL_LINUX || LL_SOLARIS
+#if LL_LINUX || LL_SOLARIS || defined(__OpenBSD__)
 template<class T> 
 LLStringBase<T>& LLStringBase<T>::assign(const T* s)
 {
