diff options
author | Keir Fraser <keir.fraser@citrix.com> | 2009-11-23 07:00:08 +0000 |
---|---|---|
committer | Keir Fraser <keir.fraser@citrix.com> | 2009-11-23 07:00:08 +0000 |
commit | af7af769b97af63b70e38b607dc389d1b689e8bc (patch) | |
tree | 8186e2ec7f199bc8c98209b9ecf1c99f2ca34af2 /tools/libxl/osdeps.c | |
parent | c14ce8a1257fbbc43c4196b186a7677209c6b12e (diff) | |
download | xen-af7af769b97af63b70e38b607dc389d1b689e8bc.tar.gz xen-af7af769b97af63b70e38b607dc389d1b689e8bc.tar.bz2 xen-af7af769b97af63b70e38b607dc389d1b689e8bc.zip |
libxenlight: correct broken osdeps.[ch] and make #includes consistent
osdeps.[hc] previously mistakenly declared and defined [v]asprintf.
These functions are available in the libc on most platforms. Also,
osdeps.h is used by xc.c but xc.c is not part of the library, so
osdeps.h is part of the public interface and should have a better
name.
So now, instead:
* osdeps.h is libxl_osdeps.h.
* _GNU_SOURCE is #defined in libxl_osdeps.h so that we get the system
[v]asprintf (and various other functions)
* libxl_osdeps.h is included first in every libxl*.c file (it needs
to be before any system headers so that _GNU_SOURCE) takes effect.
* osdeps.[hc] only provide their own reimplementation of [v]asprintf
if NEED_OWN_ASPRINTF is defined. Currently it is not ever defined
but this is provided for any platform which needs it.
* While I was editing the #includes in each .c file, I put them all
into the same order: "libxl_osdeps.h", then system headers,
then local headers.
* xs.h is included in libxl.h. This is needed for "bool"; it has to
not be typedefed in libxl.h because otherwise we get a duplicate
definition when including xs.h.
Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
Diffstat (limited to 'tools/libxl/osdeps.c')
-rw-r--r-- | tools/libxl/osdeps.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/tools/libxl/osdeps.c b/tools/libxl/osdeps.c index 81175aa328..ad96480a85 100644 --- a/tools/libxl/osdeps.c +++ b/tools/libxl/osdeps.c @@ -19,6 +19,8 @@ #include <sys/time.h> #include <stdlib.h> +#ifdef NEED_OWN_ASPRINTF + int vasprintf(char **buffer, const char *fmt, va_list ap) { int size = 0; @@ -60,3 +62,5 @@ int asprintf(char **buffer, char *fmt, ...) va_end (ap); return status; } + +#endif |