Mailing List Archive

[xen-unstable] libxl: band-aid for functions which return literal "-1"
# HG changeset patch
# User Ian Jackson <ian.jackson@eu.citrix.com>
# Date 1296043125 0
# Node ID 67d5b80049473d4b00ad8c198b9d11e6488b1c0e
# Parent 00e1fd80e1f7a9c14f86020ed24fcbc35c772606
libxl: band-aid for functions which return literal "-1"

Many libxl functions erroneously return "-1" on error, rather than
some ERROR_* value.

To deal with this, invent a new ERROR_NONSPECIFIC "-1" which indicates
that "the function which generated this error code is broken".

Fix up the one we care about for forthcoming duplicate domain
detection (libxl_name_to_domid) and the others following the same
pattern nearby; leave the rest for post-4.1.

Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
Acked-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
---
tools/libxl/libxl.h | 13 +++++++------
tools/libxl/libxl_utils.c | 8 ++++----
2 files changed, 11 insertions(+), 10 deletions(-)

diff -r 00e1fd80e1f7 -r 67d5b8004947 tools/libxl/libxl.h
--- a/tools/libxl/libxl.h Wed Jan 26 11:47:52 2011 +0000
+++ b/tools/libxl/libxl.h Wed Jan 26 11:58:45 2011 +0000
@@ -232,12 +232,13 @@ typedef struct {
} libxl_domain_suspend_info;

enum {
- ERROR_VERSION = -1,
- ERROR_FAIL = -2,
- ERROR_NI = -3,
- ERROR_NOMEM = -4,
- ERROR_INVAL = -5,
- ERROR_BADFAIL = -6,
+ ERROR_NONSPECIFIC = -1,
+ ERROR_VERSION = -2,
+ ERROR_FAIL = -3,
+ ERROR_NI = -4,
+ ERROR_NOMEM = -5,
+ ERROR_INVAL = -6,
+ ERROR_BADFAIL = -7,
};

#define LIBXL_VERSION 0
diff -r 00e1fd80e1f7 -r 67d5b8004947 tools/libxl/libxl_utils.c
--- a/tools/libxl/libxl_utils.c Wed Jan 26 11:47:52 2011 +0000
+++ b/tools/libxl/libxl_utils.c Wed Jan 26 11:58:45 2011 +0000
@@ -93,7 +93,7 @@ int libxl_name_to_domid(libxl_ctx *ctx,
int i, nb_domains;
char *domname;
libxl_dominfo *dominfo;
- int ret = -1;
+ int ret = ERROR_INVAL;

dominfo = libxl_list_domain(ctx, &nb_domains);
if (!dominfo)
@@ -142,7 +142,7 @@ int libxl_name_to_cpupoolid(libxl_ctx *c
int i, nb_pools;
char *poolname;
libxl_cpupoolinfo *poolinfo;
- int ret = -1;
+ int ret = ERROR_INVAL;

poolinfo = libxl_list_cpupool(ctx, &nb_pools);
if (!poolinfo)
@@ -171,7 +171,7 @@ int libxl_name_to_schedid(libxl_ctx *ctx
if (strcmp(name, schedid_name[i].name) == 0)
return schedid_name[i].id;

- return -1;
+ return ERROR_INVAL;
}

char *libxl_schedid_to_name(libxl_ctx *ctx, int schedid)
@@ -287,7 +287,7 @@ int libxl_string_to_phystype(libxl_ctx *
} else if (!strcmp(s, "tap")) {
p = strchr(s, ':');
if (!p) {
- rc = -1;
+ rc = ERROR_INVAL;
goto out;
}
p++;

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