|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH 14/20] libxl: include <ctype.h> and introduce CTYPE helper macro
On Fri, 2012-03-16 at 16:26 +0000, Ian Jackson wrote:
> Signed-off-by: Ian Jackson <ian.jackson@xxxxxxxxxxxxx>
Shouldn't there be a handful of cleanups off the back of this?
Huh, grep suggests only
tools/libxl/xl_cmdimpl.c: if (!isdigit((uint8_t)p[i])) {
which is not useful in the context of libxl_internal.h
I have a feeling the others I was thinking of are in blktap or something
Acked-by: Ian Campbell <ian.campbell@xxxxxxxxxx>
> ---
> tools/libxl/libxl_internal.h | 20 ++++++++++++++++++++
> 1 files changed, 20 insertions(+), 0 deletions(-)
>
> diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h
> index 8091ca2..69b6f74 100644
> --- a/tools/libxl/libxl_internal.h
> +++ b/tools/libxl/libxl_internal.h
> @@ -33,6 +33,7 @@
> #include <stdlib.h>
> #include <string.h>
> #include <unistd.h>
> +#include <ctype.h>
>
> #include <sys/mman.h>
> #include <sys/poll.h>
> @@ -1529,6 +1530,25 @@ static inline void libxl__ctx_unlock(libxl_ctx *ctx) {
> } while(0)
>
>
> +/*
> + * int CTYPE(ISFOO, char c);
> + * int CTYPE(toupper, char c);
> + * int CTYPE(tolower, char c);
> + *
> + * This is necessary because passing a simple char to a ctype.h
> + * is forbidden. ctype.h macros take ints derived from _unsigned_ chars.
> + *
> + * If you have a char which might be EOF then you should already have
> + * it in an int representing an unsigned char, and you can use the
> + * <ctype.h> macros directly. This generally happens only with values
> + * from fgetc et al.
> + *
> + * For any value known to be a character (eg, anything that came from
> + * a char[]), use CTYPE.
> + */
> +#define CTYPE(isfoo,c) (isfoo((unsigned char)(c)))
> +
> +
> #endif
>
> /*
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |