diff --git a/mediachanger/castorrmc/common/getconfent.c b/mediachanger/castorrmc/common/getconfent.c
index ab800b15da7fbd1eece2f3d07838f3c39e0ab51e..c27fdb2c2a2ff0b28afdad1a90acd6a237ddbc1c 100644
--- a/mediachanger/castorrmc/common/getconfent.c
+++ b/mediachanger/castorrmc/common/getconfent.c
@@ -1,6 +1,9 @@
 /*
- * $Id: getconfent.c,v 1.5 1999/07/21 12:42:20 jdurand Exp $
+ * $Id: getconfent.c,v 1.6 1999/07/22 15:29:53 obarring Exp $
  * $Log: getconfent.c,v $
+ * Revision 1.6  1999/07/22 15:29:53  obarring
+ * Go back to use strtok_r instead of strpbrk
+ *
  * Revision 1.5  1999/07/21 12:42:20  jdurand
  * HP-UX's cc [without options] don't like function prototypes. Changed it
  * to old C style.
@@ -23,16 +26,9 @@
 #endif
 #endif /* PATH_CONFIG */
 
-#ifdef CONST
-#undef CONST
-#endif
-#if defined(__STDC__)
-#define CONST const
-#else
-#define CONST
-#endif
-
-CONST char char_set[] = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789!@#$%^&*()_+|~`\\=-{}[]:;''\",./<>?";
+#if defined(_REENTRANT) || defined(_THREAD_SAFE)
+#define strtok(X,Y) strtok_r(X,Y,&last)
+#endif /* _REENTRANT || _THREAD_SAFE */
 
 
 char *getconfent_r(category, name, flags, buffer, bufsiz)
@@ -42,72 +38,67 @@ char *getconfent_r(category, name, flags, buffer, bufsiz)
      char *buffer;
      int bufsiz;
 {
-	char    *filename=PATH_CONFIG;
-	FILE    *fp;
-	char    *p, *cp, *ep;
-	char    *getenv();
-	int     found = 0;
-	char    path_config[256];
-	char    *separator;
-        if ((p = getenv("PATH_CONFIG")) != NULL)       {
-                filename=p;
-        }
+    char    *filename=PATH_CONFIG;
+    FILE    *fp;
+    char    *p, *cp;
+    char    *getenv();
+    int     found = 0;
+    char    path_config[256];
+    char    *separator;
+#if defined(_REENTRANT) || defined(_THREAD_SAFE)
+    char *last = NULL;
+#endif /* _REENTRANT || _THREAD_SAFE */
+
+    if ((p = getenv("PATH_CONFIG")) != NULL) {
+        filename=p;
+    }
 #if defined(_WIN32)
-        if (strncmp (filename, "%SystemRoot%\\", 13) == 0 &&
-            (p = getenv ("SystemRoot")))
-                sprintf (path_config, "%s\\%s", p, strchr (filename, '\\'));
-        else
+    if (strncmp (filename, "%SystemRoot%\\", 13) == 0 &&   
+        (p = getenv ("SystemRoot")))
+        sprintf (path_config, "%s\\%s", p, strchr (filename, '\\'));
+    else
 #endif
-                strcpy (path_config, filename);
+        strcpy (path_config, filename);
 
-        if ((fp = fopen(path_config,"r")) == NULL)       {
-		serrno = SENOCONFIG;
-                return (NULL);
+    if ((fp = fopen(path_config,"r")) == NULL) {
+        serrno = SENOCONFIG;
+        return (NULL);
+    }
+
+    for (;;) {
+        p = fgets(buffer, bufsiz-1, fp);      
+        if (p == NULL) {
+            break;
         }
 
-        for (;;)        {
-                p = fgets(buffer, bufsiz-1, fp);
-                if (p == NULL)  {
-                        break;
+        if ( (cp = strtok(p," \t")) == NULL) continue; /* empty line */
+        if (*cp == '#') continue; /* comment */
+        if (strcmp(cp,category) == 0) { /* A category match */
+            if ( (cp = strtok(NULL," \t")) == NULL ) continue;
+            if (*cp == '#') continue; /* comment, invalid */
+            if ( strcmp(cp,name) == 0) { /* A match */
+                if (flags != 0) {
+                    /* Don't tokenize next arg */
+                    separator = "#\n";
+                } else {
+                    separator = "#\t \n";
                 }
-		if (*p == '#') continue;
-		if ((cp = strpbrk(p,char_set)) == NULL) continue;
-		if (*cp == '#') continue;
-		if ((ep = strpbrk(cp," \t")) == NULL) ep = &cp[strlen(cp)];
-		if ( *ep == '\n' ) continue;
-		*ep  = '\0';
-		if (strcmp(cp,category) == 0) {
-			p = &ep[1];
-			if ((cp = strpbrk(p,char_set)) == NULL ) continue;
-			if (*cp == '#') continue;
-			if ((ep = strpbrk(cp," \t")) == NULL) ep = &cp[strlen(cp)];
-			if ( *ep == '\n' ) continue;
-			*ep = '\0';
-			if ( strcmp(cp,name) == 0) {
 
-				if (flags != 0) {
-				   separator = "#\n";
-				} else {
-				   separator = "#\t \n";
-				}
-				p = &ep[1];
-				if ((cp = strpbrk(p,char_set)) == NULL) continue;
-				if (*cp == '#') continue;
-				if ((ep = strpbrk(cp,separator)) == NULL) ep = &cp[strlen(cp)];
-				*ep = '\0';
-				found++;
-				break;
-			}
-			else {
-				continue;
-			}
-		} else {
-			continue;
-		}
-	}
-	if (fclose(fp)) return(NULL);
-	if (found == 0) return(NULL);
-	else return(cp);
+                if ( (cp = strtok(NULL, separator)) == NULL ) continue;
+                if (*cp == '#') continue;
+                found++;
+                break;
+            }
+            else {
+                continue;
+            }
+        } else {
+            continue;
+        }
+    }
+    if (fclose(fp)) return(NULL);
+    if (found == 0) return(NULL);
+    else return(cp);
 }
 
 static int value_key = -1;
@@ -117,12 +108,12 @@ char *getconfent(category, name, flags)
      char *name;
      int flags;
 {
-	char *value = NULL;
+    char *value = NULL;
 
-	Cglobals_get(&value_key,(void **) &value,BUFSIZ+1);
-	if ( value == NULL ) {
-		return(NULL);
-	}
+    Cglobals_get(&value_key,(void **) &value,BUFSIZ+1);
+    if ( value == NULL ) {
+        return(NULL);
+    }
 
-	return(getconfent_r(category,name,flags,value,BUFSIZ+1));
+    return(getconfent_r(category,name,flags,value,BUFSIZ+1));
 }