Index: trunk/Nebulous/nebclient/src/nebclient.c
===================================================================
--- trunk/Nebulous/nebclient/src/nebclient.c	(revision 4676)
+++ trunk/Nebulous/nebclient/src/nebclient.c	(revision 5661)
@@ -4,5 +4,5 @@
  * Copyright (C) 2005  Joshua Hoblitt
  *
- * $Id: nebclient.c,v 1.39 2005-07-30 02:43:38 jhoblitt Exp $
+ * $Id: nebclient.c,v 1.40 2005-12-02 23:49:08 jhoblitt Exp $
  */
 
@@ -83,16 +83,15 @@
 }
 
-int nebCreate(nebServer *server, const char *key, unsigned int class, const char *volume, const char *comment, char **URI)
+char *nebCreate(nebServer *server, const char *key, unsigned int class, const char *volume, const char *comment, char **URI)
 {
     struct ns1__create_USCOREobjectResponse response;
     char            *filename;
-    int             file;
-
-    REQUIRE_SERVER;
-
-    if (!key) {
-        nebSetErr(server, "parameter 'key' may not be NULL");
-
-        return -1;
+
+    REQUIRE_SERVER;
+
+    if (!key) {
+        nebSetErr(server, "parameter 'key' may not be NULL");
+
+        return NULL;
     }
 
@@ -102,5 +101,5 @@
         nebSetServerErr(server);
 
-        return -1;
+        return NULL;
     }
 
@@ -108,6 +107,30 @@
         nebSetErr(server, "can not parse URI");
 
-        return -1;
-    }
+        return NULL;
+    }
+
+    // if URI is not NULL
+    if (URI) {
+        *URI = xmalloc(strlen((char *)response.result));
+        strcpy(*URI, (char *)response.result);
+    }
+
+    return filename;
+}
+
+int nebOpenCreate(nebServer *server, const char *key, unsigned int class, const char *volume, const char *comment, char **URI)
+{
+    char            *filename;
+    int             file;
+
+    REQUIRE_SERVER;
+
+    if (!key) {
+        nebSetErr(server, "parameter 'key' may not be NULL");
+
+        return -1;
+    }
+
+    filename = nebCreate(server, key, class, volume, comment, URI);
 
     file = open(filename, O_RDWR|O_TRUNC, 0660);
@@ -120,10 +143,4 @@
 
     nebFree(filename);
-
-    // if URI is not NULL
-    if (URI) {
-        *URI = xmalloc(strlen((char *)response.result));
-        strcpy(*URI, (char *)response.result);
-    }
 
     return file;
@@ -501,5 +518,5 @@
     }
 
-    destFH = nebCreate(server, newKey, 0, NULL, NULL, NULL);
+    destFH = nebOpenCreate(server, newKey, 0, NULL, NULL, NULL);
     if (destFH < 0) {
         // propigate nebCreate() error
