add error reporting to tools, and link memcached_strerror into library
authorMark Atwood <mark@fallenpegasus.com>
Thu, 20 Sep 2007 20:11:55 +0000 (13:11 -0700)
committerMark Atwood <mark@fallenpegasus.com>
Thu, 20 Sep 2007 20:11:55 +0000 (13:11 -0700)
lib/Makefile.am
lib/memcached_strerror.c
src/memcat.c
src/memcp.c
src/memrm.c

index 43e4a27ff5fc4185b054064e43876b68af4dea7a..b9072cf2843070757de91234ef920b6cd6b42600 100644 (file)
@@ -3,6 +3,7 @@ LIBS =
 \r
 lib_LTLIBRARIES = libmemcached.la\r
 libmemcached_la_SOURCES = memcached.c \\r
+                          memcached_strerror.c \\r
                          memcached_connect.c \\r
                          memcached_response.c \\r
                          memcached_get.c \\r
index 5c7dadfb6fb1e09f973b1b0e34db6a929fd3fdbf..f6d9105ec2958a6bded17bada4dda05505fbe7d2 100644 (file)
@@ -1,4 +1,4 @@
-#include <memached.h>
+#include <memcached.h>
 
 char *memcached_strerror(memcached_st *ptr, memcached_return rc)
 {
index 7789ec9b4e0f72f813257c0320c441ba6adee291..ec2fad9b2d45f8ebf085480035ec0adcb80b7d88 100644 (file)
@@ -49,6 +49,11 @@ int main(int argc, char *argv[])
         free(string);\r
       }\r
     }\r
+    else\r
+    {\r
+      fprintf(stderr, "memcat: %s: memcache error %s\n", \r
+             argv[argc], memcached_strerror(memc, rc));\r
+    }\r
     optind++;\r
   }\r
 \r
index 6ae8e3b4905154b3de3115e23408a44e442c064a..fc396ff1b09c4b4163bc3040802ccd8d42b8f5bb 100644 (file)
@@ -6,6 +6,7 @@
 #include <sys/types.h>\r
 #include <sys/mman.h>\r
 #include <fcntl.h>\r
+#include <errno.h>\r
 \r
 #include <memcached.h>\r
 #include "client_options.h"\r
@@ -39,15 +40,20 @@ int main(int argc, char *argv[])
     char *ptr;\r
 \r
     fd= open(argv[optind], O_RDONLY);\r
-\r
-    if (fd == -1)\r
-    {\r
-      fprintf(stderr, "Failed opening %s\n", argv[optind]);\r
+    if (fd < 0) {\r
+      fprintf(stderr, "memcp: %s: %s\n", argv[optind], strerror(errno));\r
+      optind++;\r
       continue;\r
     }\r
 \r
     (void)fstat(fd, &sbuf);\r
     mptr= mmap(NULL, sbuf.st_size, PROT_READ, MAP_PRIVATE, fd, 0);\r
+    if (mptr == MAP_FAILED) {\r
+      fprintf(stderr, "memcp: %s: %s\n", argv[optind], strerror(errno));\r
+      close(fd);\r
+      optind++;\r
+      continue;\r
+    }\r
 \r
     ptr= rindex(argv[optind], '/');\r
     if (ptr)\r
@@ -78,6 +84,11 @@ int main(int argc, char *argv[])
     else\r
       abort();\r
 \r
+    if (rc != MEMCACHED_SUCCESS) {\r
+      fprintf(stderr, "memcp: %s: memcache error %s\n", \r
+             ptr, memcached_strerror(memc, rc));\r
+    }\r
+\r
     munmap(mptr, sbuf.st_size);\r
     close(fd);\r
     optind++;\r
index 6deca09bb0731ed2c3125f8229c436479d895d4a..49172e5a08c4f2542240bd0c0c1bd0c82b00c0e5 100644 (file)
@@ -66,6 +66,12 @@ int main(int argc, char *argv[])
       printf("key: %s\nexpires: %ld\n", argv[optind], expires);\r
     }\r
     rc = memcached_delete(memc, argv[optind], strlen(argv[optind]), expires);\r
+\r
+    if (rc != MEMCACHED_SUCCESS) {\r
+      fprintf(stderr, "memrm: %s: memcache error %s\n", \r
+             argv[optind], memcached_strerror(memc, rc));\r
+    }\r
+\r
     optind++;\r
   }\r
 \r