diff -rupN mysql-5.1.43-percona-orig/config.h.in mysql-5.1.43-percona-fixed/config.h.in
--- mysql-5.1.43-percona-orig/config.h.in	2010-01-15 10:22:37.000000000 -0700
+++ mysql-5.1.43-percona-fixed/config.h.in	2010-02-24 16:54:11.000000000 -0700
@@ -802,6 +802,9 @@
 /* Define to 1 if you have the <stdlib.h> header file. */
 #undef HAVE_STDLIB_H
 
+/* Define to 1 if you have the `strsep' function. */
+#undef HAVE_STRSEP
+
 /* Define to 1 if you have the `stpcpy' function. */
 #undef HAVE_STPCPY
 
diff -rupN mysql-5.1.43-percona-orig/configure mysql-5.1.43-percona-fixed/configure
--- mysql-5.1.43-percona-orig/configure	2010-02-22 02:12:38.000000000 -0700
+++ mysql-5.1.43-percona-fixed/configure	2010-02-24 16:53:35.000000000 -0700
@@ -36837,7 +36837,7 @@ for ac_func in alarm bcmp bfill bmove bs
   realpath rename rint rwlock_init setupterm \
   shmget shmat shmdt shmctl sigaction sigemptyset sigaddset \
   sighold sigset sigthreadmask port_create sleep \
-  snprintf socket stpcpy strcasecmp strerror strsignal strnlen strpbrk strstr \
+  snprintf socket strsep stpcpy strcasecmp strerror strsignal strnlen strpbrk strstr \
   strtol strtoll strtoul strtoull tell tempnam thr_setconcurrency vidattr \
   posix_fallocate backtrace backtrace_symbols backtrace_symbols_fd printstack
 do
diff -rupN mysql-5.1.43-percona-orig/sql/sql_show.cc mysql-5.1.43-percona-fixed/sql/sql_show.cc
--- mysql-5.1.43-percona-orig/sql/sql_show.cc	2010-02-22 02:12:38.000000000 -0700
+++ mysql-5.1.43-percona-fixed/sql/sql_show.cc	2010-02-24 17:05:35.000000000 -0700
@@ -83,6 +83,40 @@ append_algorithm(TABLE_LIST *table, Stri
 
 static COND * make_cond_for_info_schema(COND *cond, TABLE_LIST *table);
 
+/*
+ * Solaris 10 does not have strsep(). 
+ * 
+ * based on getToken from http://www.winehq.org/pipermail/wine-patches/2001-November/001322.html
+ *
+ */
+
+#ifndef HAVE_STRSEP
+static char* strsep(char** str, const char* delims)
+{
+    char *token;
+
+    if (*str == NULL) {
+        /* No more tokens */
+        return NULL;
+    }
+
+    token = *str;
+    while (**str != '\0') {
+        if (strchr(delims, **str) != NULL) {
+            **str = '\0';
+            (*str)++;
+            return token;
+        }
+        (*str)++;
+    }
+
+    /* There is not another token */
+    *str = NULL;
+
+    return token;
+}
+#endif
+
 /***************************************************************************
 ** List all table types supported
 ***************************************************************************/
