Index: /trunk/Nebulous/nebclient/src/nebclient.c
===================================================================
--- /trunk/Nebulous/nebclient/src/nebclient.c	(revision 4465)
+++ /trunk/Nebulous/nebclient/src/nebclient.c	(revision 4466)
@@ -4,5 +4,5 @@
  * Copyright (C) 2005  Joshua Hoblitt
  *
- * $Id: nebclient.c,v 1.7 2005-07-06 21:41:03 jhoblitt Exp $
+ * $Id: nebclient.c,v 1.8 2005-07-06 23:32:19 jhoblitt Exp $
  */
 
@@ -213,8 +213,37 @@
 }
 
-int nebOpen(nebServer *server, char *key, rw flag )
-{
-
-    return 0;
+int nebOpen(nebServer *server, const char *key, rw flag)
+{
+    char            **locations;
+    char            *filename;
+    int             fh;
+
+    if (nebFindInstances(server, (char *)key, NULL, &locations) < 0) {
+        fprintf(stderr, "no instances found\n");
+
+        return -1;
+    }
+
+    if (!nebParseURI(locations[0], &filename)) {
+        fprintf(stderr, "can not parse URI\n");
+
+        return -1;
+    }
+
+    if (flag == NEB_WRITE) {
+        fh = open(filename, O_RDWR);
+    } else {
+        fh = open(filename, O_RDONLY);
+    }
+
+    nebFree(filename);
+
+    if (fh < 0) {
+        perror("open");
+
+        return -1;
+    }
+
+    return fh;
 }
 
@@ -373,5 +402,5 @@
     struct stat     sourceStat;
 
-    if( !fstat(sourceFH, &sourceStat)) {
+    if(fstat(sourceFH, &sourceStat)) {
         fprintf(stderr, "can not stat filehandles: %s\n", strerror(errno));
 
Index: /trunk/Nebulous/nebclient/src/nebclient.h
===================================================================
--- /trunk/Nebulous/nebclient/src/nebclient.h	(revision 4465)
+++ /trunk/Nebulous/nebclient/src/nebclient.h	(revision 4466)
@@ -4,5 +4,5 @@
  * Copyright (C) 2005  Joshua Hoblitt
  *
- * $Id: nebclient.h,v 1.9 2005-07-06 21:41:03 jhoblitt Exp $
+ * $Id: nebclient.h,v 1.10 2005-07-06 23:32:19 jhoblitt Exp $
  */
 
@@ -36,5 +36,5 @@
 int nebFind(nebServer *server, char *key);
 
-int nebOpen(nebServer *server, char *key, rw flag);
+int nebOpen(nebServer *server, const char *key, rw flag);
 
 int nebDelete(nebServer *server, char *key);
