--- ../org/gateway-1.0.3/gwlib/octstr.c	Mon Feb  5 11:26:21 2001
+++ ../gateway-1.0.3/gwlib/octstr.c	Wed Feb  6 09:54:12 2002
@@ -1202,22 +1202,12 @@
 }
 
 
-
-Octstr *octstr_read_file(const char *filename)
+Octstr *octstr_read(FILE *f)
 {
-    FILE *f;
     Octstr *os;
     char buf[128*1024];
     long n;
 
-    gw_assert(filename != NULL);
-
-    f = fopen(filename, "r");
-    if (f == NULL) {
-        error(errno, "fopen failed: couldn't open `%s'", filename);
-        return NULL;
-    }
-
     os = octstr_create("");
     if (os == NULL)
         goto error;
@@ -1225,16 +1215,34 @@
     while ((n = fread(buf, 1, sizeof(buf), f)) > 0)
         octstr_insert_data(os, octstr_len(os), buf, n);
 
-    (void) fclose(f);
     return os;
 
 error:
-    (void) fclose(f);
     octstr_destroy(os);
     return NULL;
 }
 
 
+Octstr *octstr_read_file(const char *filename)
+{
+    FILE *f;
+    Octstr *ret;
+
+    gw_assert(filename != NULL);
+
+    f = fopen(filename, "r");
+    if (f == NULL) {
+        error(errno, "fopen failed: couldn't open `%s'", filename);
+        return NULL;
+    }
+
+    ret = octstr_read( f );
+
+    (void) fclose(f);
+
+    return ret;
+}
+
 
 List *octstr_split_words(Octstr *ostr)
 {
