WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-changelog

[Xen-changelog] merge

# HG changeset patch
# User kaf24@xxxxxxxxxxxxxxxxxxxx
# Node ID 26599c5d298d128d0317a66c93332e241058ba68
# Parent  68e754d7e1cb56ad6c732b1f896063f22850749c
# Parent  ffbee4415bf72ad092741c215484e8d83245bd51
merge

diff -r 68e754d7e1cb -r 26599c5d298d tools/python/xen/util/auxbin.py
--- a/tools/python/xen/util/auxbin.py   Wed Oct 12 12:03:10 2005
+++ b/tools/python/xen/util/auxbin.py   Wed Oct 12 12:06:35 2005
@@ -19,6 +19,10 @@
 LIB_BIN_32 = "/usr/lib/xen/bin"
 LIB_BIN_64 = "/usr/lib64/xen/bin"
 
+## The architectures on which the LIB_BIN_64 directory is used.  This
+# deliberately excludes ia64.
+LIB_64_ARCHS = [ 'x86_64', 'ppc64', 's390x', 'sparc64']
+
 
 import os
 import os.path
@@ -38,7 +42,7 @@
 
 def path():
     machine = os.uname()[4]
-    if machine.find('64') != -1 and os.path.exists(LIB_BIN_64):
+    if machine in LIB_64_ARCHS and os.path.exists(LIB_BIN_64):
         return LIB_BIN_64
     else:
         return LIB_BIN_32
diff -r 68e754d7e1cb -r 26599c5d298d tools/xenstore/xenstore_client.c
--- a/tools/xenstore/xenstore_client.c  Wed Oct 12 12:03:10 2005
+++ b/tools/xenstore/xenstore_client.c  Wed Oct 12 12:06:35 2005
@@ -4,6 +4,7 @@
  * this archive for more details.
  *
  * Copyright (C) 2005 by Christian Limpach
+ * Copyright (C) 2005 XenSource Ltd.
  *
  */
 
@@ -28,16 +29,71 @@
 #endif
 }
 
+
+static int
+perform(int optind, int argc, char **argv, struct xs_handle *xsh,
+        struct xs_transaction_handle *xth, int prefix)
+{
+    while (optind < argc) {
+#if defined(CLIENT_read)
+       char *val = xs_read(xsh, xth, argv[optind], NULL);
+       if (val == NULL) {
+           warnx("couldn't read path %s", argv[optind]);
+           return 1;
+       }
+       if (prefix)
+           printf("%s: ", argv[optind]);
+       printf("%s\n", val);
+       free(val);
+       optind++;
+#elif defined(CLIENT_write)
+       if (!xs_write(xsh, xth, argv[optind], argv[optind + 1],
+                      strlen(argv[optind + 1]))) {
+           warnx("could not write path %s", argv[optind]);
+           return 1;
+       }
+       optind += 2;
+#elif defined(CLIENT_rm)
+       if (!xs_rm(xsh, xth, argv[optind])) {
+           warnx("could not remove path %s", argv[optind]);
+           return 1;
+       }
+       optind++;
+#elif defined(CLIENT_exists)
+       char *val = xs_read(xsh, xth, argv[optind], NULL);
+       if (val == NULL) {
+           return 1;
+       }
+       free(val);
+       optind++;
+#elif defined(CLIENT_list)
+       unsigned int i, num;
+       char **list = xs_directory(xsh, xth, argv[optind], &num);
+       if (list == NULL) {
+           warnx("could not list path %s", argv[optind]);
+           return 1;
+       }
+       for (i = 0; i < num; i++) {
+           if (prefix)
+               printf("%s/", argv[optind]);
+           printf("%s\n", list[i]);
+       }
+       free(list);
+       optind++;
+#endif
+    }
+
+    return 0;
+}
+
+
 int
 main(int argc, char **argv)
 {
     struct xs_handle *xsh;
     struct xs_transaction_handle *xth;
-    bool success;
     int ret = 0, socket = 0;
-#if defined(CLIENT_read) || defined(CLIENT_list)
     int prefix = 0;
-#endif
 
     while (1) {
        int c, index = 0;
@@ -93,65 +149,9 @@
     if (xth == NULL)
        errx(1, "couldn't start transaction");
 
-    while (optind < argc) {
-#if defined(CLIENT_read)
-       char *val = xs_read(xsh, xth, argv[optind], NULL);
-       if (val == NULL) {
-           warnx("couldn't read path %s", argv[optind]);
-           ret = 1;
-           goto out;
-       }
-       if (prefix)
-           printf("%s: ", argv[optind]);
-       printf("%s\n", val);
-       free(val);
-       optind++;
-#elif defined(CLIENT_write)
-       success = xs_write(xsh, xth, argv[optind], argv[optind + 1],
-                          strlen(argv[optind + 1]));
-       if (!success) {
-           warnx("could not write path %s", argv[optind]);
-           ret = 1;
-           goto out;
-       }
-       optind += 2;
-#elif defined(CLIENT_rm)
-       success = xs_rm(xsh, xth, argv[optind]);
-       if (!success) {
-           warnx("could not remove path %s", argv[optind]);
-           ret = 1;
-           goto out;
-       }
-       optind++;
-#elif defined(CLIENT_exists)
-       char *val = xs_read(xsh, xth, argv[optind], NULL);
-       if (val == NULL) {
-           ret = 1;
-           goto out;
-       }
-       free(val);
-       optind++;
-#elif defined(CLIENT_list)
-       unsigned int i, num;
-       char **list = xs_directory(xsh, xth, argv[optind], &num);
-       if (list == NULL) {
-           warnx("could not list path %s", argv[optind]);
-           ret = 1;
-           goto out;
-       }
-       for (i = 0; i < num; i++) {
-           if (prefix)
-               printf("%s/", argv[optind]);
-           printf("%s\n", list[i]);
-       }
-       free(list);
-       optind++;
-#endif
-    }
+    ret = perform(optind, argc, argv, xsh, xth, prefix);
 
- out:
-    success = xs_transaction_end(xsh, xth, ret ? true : false);
-    if (!success) {
+    if (!xs_transaction_end(xsh, xth, ret)) {
        if (ret == 0 && errno == EAGAIN)
            goto again;
        errx(1, "couldn't end transaction");

_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog

<Prev in Thread] Current Thread [Next in Thread>