mirror of https://gitee.com/openkylin/libvirt.git
Use gnulib's c-ctype.h, not <ctype.h>.
# Convert uses of isspace to c_isspace, isdigit to c_isdigit, etc. re=$(man isspace|grep is.....,.is|sed 's/ -.*//' \ |tr -s ', \n' \||sed 's/^|//;s/|$//') git grep -l -E "$re"|grep -Ev 'Chan|gnulib' \ |xargs perl -pi -e 's/\b('"$re"')\b/c_$1/g' # Remove all uses of to_uchar git grep -l to_uchar|xargs perl -pi -e 's/to_uchar\((.*?)\)/$1/g' * src/util.h (to_uchar): Remove definition. (TOLOWER): Remove definition. (__virMacAddrCompare): Use c_tolower, not TOLOWER. Globally: Where needed, change <ctype.h> to <c-ctype.h>. Remove unnecessary inclusion of <ctype.h>. Ensure the global changes are never needed again: * Makefile.maint (sc_avoid_ctype_macros): Prohibit use of ctype macros. Recommend c-ctype.h instead. (sc_prohibit_c_ctype_without_use): New rule. (sc_prohibit_ctype_h): New rule. Disallow use of <ctype.h>.
This commit is contained in:
parent
82892f131b
commit
25534052bc
20
ChangeLog
20
ChangeLog
|
@ -1,5 +1,25 @@
|
|||
Fri May 9 15:45:39 CEST 2008 Jim Meyering <meyering@redhat.com>
|
||||
|
||||
Use gnulib's c-ctype.h, not <ctype.h>.
|
||||
# Convert uses of isspace to c_isspace, isdigit to c_isdigit, etc.
|
||||
re=$(man isspace|grep is.....,.is|sed 's/ -.*//' \
|
||||
|tr -s ', \n' \||sed 's/^|//;s/|$//')
|
||||
git grep -l -E "$re"|grep -Ev 'Chan|gnulib' \
|
||||
|xargs perl -pi -e 's/\b('"$re"')\b/c_$1/g'
|
||||
# Remove all uses of to_uchar
|
||||
git grep -l to_uchar|xargs perl -pi -e 's/to_uchar\((.*?)\)/$1/g'
|
||||
* src/util.h (to_uchar): Remove definition.
|
||||
(TOLOWER): Remove definition.
|
||||
(__virMacAddrCompare): Use c_tolower, not TOLOWER.
|
||||
Globally:
|
||||
Where needed, change <ctype.h> to <c-ctype.h>.
|
||||
Remove unnecessary inclusion of <ctype.h>.
|
||||
Ensure the global changes are never needed again:
|
||||
* Makefile.maint (sc_avoid_ctype_macros): Prohibit use of ctype
|
||||
macros. Recommend c-ctype.h instead.
|
||||
(sc_prohibit_c_ctype_without_use): New rule.
|
||||
(sc_prohibit_ctype_h): New rule. Disallow use of <ctype.h>.
|
||||
|
||||
Prepare to use gnulib's c-type module.
|
||||
* bootstrap: Move module list into separate variable w/less syntax.
|
||||
(modules): Add c-ctype.
|
||||
|
|
|
@ -157,6 +157,16 @@ sc_prohibit_quotearg_without_use:
|
|||
sc_prohibit_quote_without_use:
|
||||
@h='"quote.h"' re='\<quote(_n)? *\(' $(_header_without_use)
|
||||
|
||||
# Prohibit the inclusion of c-ctype.h without an actual use.
|
||||
sc_prohibit_c_ctype_without_use:
|
||||
@h='[<"]c-ctype.h[">]' re='\<c_($(ctype_re)) *\(' $(_header_without_use)
|
||||
|
||||
# Prohibit the inclusion of <ctype.h>.
|
||||
sc_prohibit_ctype_h:
|
||||
@grep -E '^# *include *<ctype\.h>' $$($(VC_LIST_EXCEPT)) && \
|
||||
{ echo "$(ME): don't use ctype.h; instead, use c-ctype.h" \
|
||||
1>&2; exit 1; } || :
|
||||
|
||||
sc_obsolete_symbols:
|
||||
@grep -nE '\<(HAVE''_FCNTL_H|O''_NDELAY)\>' \
|
||||
$$($(VC_LIST_EXCEPT)) && \
|
||||
|
@ -305,10 +315,10 @@ sc_TAB_in_indentation:
|
|||
ctype_re = isalnum|isalpha|isascii|isblank|iscntrl|isdigit|isgraph|islower\
|
||||
|isprint|ispunct|isspace|isupper|isxdigit|tolower|toupper
|
||||
|
||||
sc_risky_ctype_macros:
|
||||
sc_avoid_ctype_macros:
|
||||
@grep -E '\b($(ctype_re)) *\(' /dev/null \
|
||||
$$($(VC_LIST_EXCEPT)) | grep -v to_uchar && \
|
||||
{ echo '$(ME): found ctype macro use without to_uchar' \
|
||||
$$($(VC_LIST_EXCEPT)) && \
|
||||
{ echo "$(ME): don't use ctype macros (use c-ctype.h)" \
|
||||
1>&2; exit 1; } || :
|
||||
|
||||
# Match lines like the following, but where there is only one space
|
||||
|
|
|
@ -41,7 +41,6 @@
|
|||
#include <syslog.h>
|
||||
#include <string.h>
|
||||
#include <errno.h>
|
||||
#include <ctype.h>
|
||||
#include <fnmatch.h>
|
||||
|
||||
#ifdef HAVE_POLKIT
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
/*
|
||||
* buf.c: buffers for libvirt
|
||||
*
|
||||
* Copyright (C) 2005-2007 Red Hat, Inc.
|
||||
* Copyright (C) 2005-2008 Red Hat, Inc.
|
||||
*
|
||||
* See COPYING.LIB for the License of this software
|
||||
*
|
||||
|
@ -16,7 +16,6 @@
|
|||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#include <stdarg.h>
|
||||
#include <ctype.h>
|
||||
|
||||
#define __VIR_BUFFER_C__
|
||||
|
||||
|
|
|
@ -27,7 +27,7 @@
|
|||
#include <string.h>
|
||||
#include <stdlib.h>
|
||||
#include <errno.h>
|
||||
#include <ctype.h>
|
||||
#include <c-ctype.h>
|
||||
|
||||
#ifdef HAVE_SYS_UTSNAME_H
|
||||
#include <sys/utsname.h>
|
||||
|
@ -59,7 +59,7 @@ int linuxNodeInfoCPUPopulate(virConnectPtr conn, FILE *cpuinfo, virNodeInfoPtr n
|
|||
char *buf = line;
|
||||
if (STREQLEN(buf, "processor", 9)) { /* aka a single logical CPU */
|
||||
buf += 9;
|
||||
while (*buf && isspace(to_uchar(*buf)))
|
||||
while (*buf && c_isspace(*buf))
|
||||
buf++;
|
||||
if (*buf != ':') {
|
||||
__virRaiseError(conn, NULL, NULL, 0, VIR_ERR_INTERNAL_ERROR,
|
||||
|
@ -72,7 +72,7 @@ int linuxNodeInfoCPUPopulate(virConnectPtr conn, FILE *cpuinfo, virNodeInfoPtr n
|
|||
char *p;
|
||||
unsigned int ui;
|
||||
buf += 9;
|
||||
while (*buf && isspace(to_uchar(*buf)))
|
||||
while (*buf && c_isspace(*buf))
|
||||
buf++;
|
||||
if (*buf != ':' || !buf[1]) {
|
||||
__virRaiseError(conn, NULL, NULL, 0, VIR_ERR_INTERNAL_ERROR,
|
||||
|
@ -82,13 +82,13 @@ int linuxNodeInfoCPUPopulate(virConnectPtr conn, FILE *cpuinfo, virNodeInfoPtr n
|
|||
}
|
||||
if (virStrToLong_ui(buf+1, &p, 10, &ui) == 0
|
||||
/* Accept trailing fractional part. */
|
||||
&& (*p == '\0' || *p == '.' || isspace(to_uchar(*p))))
|
||||
&& (*p == '\0' || *p == '.' || c_isspace(*p)))
|
||||
nodeinfo->mhz = ui;
|
||||
} else if (STREQLEN(buf, "cpu cores", 9)) { /* aka cores */
|
||||
char *p;
|
||||
unsigned int id;
|
||||
buf += 9;
|
||||
while (*buf && isspace(to_uchar(*buf)))
|
||||
while (*buf && c_isspace(*buf))
|
||||
buf++;
|
||||
if (*buf != ':' || !buf[1]) {
|
||||
__virRaiseError(conn, NULL, NULL, 0, VIR_ERR_INTERNAL_ERROR,
|
||||
|
@ -97,7 +97,7 @@ int linuxNodeInfoCPUPopulate(virConnectPtr conn, FILE *cpuinfo, virNodeInfoPtr n
|
|||
return -1;
|
||||
}
|
||||
if (virStrToLong_ui(buf+1, &p, 10, &id) == 0
|
||||
&& (*p == '\0' || isspace(to_uchar(*p)))
|
||||
&& (*p == '\0' || c_isspace(*p))
|
||||
&& id > nodeinfo->cores)
|
||||
nodeinfo->cores = id;
|
||||
}
|
||||
|
|
|
@ -45,7 +45,6 @@
|
|||
#include <fcntl.h>
|
||||
#include <signal.h>
|
||||
#include <paths.h>
|
||||
#include <ctype.h>
|
||||
#include <pwd.h>
|
||||
#include <stdio.h>
|
||||
#include <sys/wait.h>
|
||||
|
|
|
@ -41,7 +41,7 @@
|
|||
#include <fcntl.h>
|
||||
#include <signal.h>
|
||||
#include <paths.h>
|
||||
#include <ctype.h>
|
||||
#include <c-ctype.h>
|
||||
#include <pwd.h>
|
||||
#include <stdio.h>
|
||||
#include <sys/wait.h>
|
||||
|
@ -519,7 +519,7 @@ static int qemudExtractMonitorPath(const char *haystack,
|
|||
*/
|
||||
tmp = path;
|
||||
while (*tmp) {
|
||||
if (isspace(to_uchar(*tmp))) {
|
||||
if (c_isspace(*tmp)) {
|
||||
*tmp = '\0';
|
||||
*offset += (sizeof(needle)-1) + strlen(path);
|
||||
return 0;
|
||||
|
|
|
@ -15,7 +15,7 @@
|
|||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#include <ctype.h>
|
||||
#include <c-ctype.h>
|
||||
#include <errno.h>
|
||||
|
||||
#include "internal.h"
|
||||
|
@ -358,7 +358,7 @@ _string2sexpr(const char *buffer, size_t * end)
|
|||
} else {
|
||||
start = ptr;
|
||||
|
||||
while (*ptr && !isspace(to_uchar(*ptr))
|
||||
while (*ptr && !c_isspace(*ptr)
|
||||
&& *ptr != ')' && *ptr != '(') {
|
||||
ptr++;
|
||||
}
|
||||
|
|
|
@ -18,7 +18,7 @@
|
|||
#include <fcntl.h>
|
||||
#include <string.h>
|
||||
#include <unistd.h>
|
||||
#include <ctype.h>
|
||||
#include <c-ctype.h>
|
||||
|
||||
#ifdef WITH_XEN
|
||||
#include <xs.h>
|
||||
|
@ -262,7 +262,7 @@ xenLinuxDomainDeviceID(virConnectPtr conn, int domid, const char *path)
|
|||
}
|
||||
|
||||
if (path[4] != '\0') {
|
||||
if (!isdigit(to_uchar(path[4])) || path[4] == '0' ||
|
||||
if (!c_isdigit(path[4]) || path[4] == '0' ||
|
||||
virStrToLong_i(path+4, NULL, 10, &part) < 0 ||
|
||||
part < 1 || part > 15) {
|
||||
statsErrorFunc (conn, VIR_ERR_INVALID_ARG, __FUNCTION__,
|
||||
|
@ -306,7 +306,7 @@ xenLinuxDomainDeviceID(virConnectPtr conn, int domid, const char *path)
|
|||
} else {
|
||||
p = path + 3;
|
||||
}
|
||||
if (p && (!isdigit(to_uchar(*p)) || *p == '0' ||
|
||||
if (p && (!c_isdigit(*p) || *p == '0' ||
|
||||
virStrToLong_i(p, NULL, 10, &part) < 0 ||
|
||||
part < 1 || part > 15)) {
|
||||
statsErrorFunc (conn, VIR_ERR_INVALID_ARG, __FUNCTION__,
|
||||
|
@ -332,7 +332,7 @@ xenLinuxDomainDeviceID(virConnectPtr conn, int domid, const char *path)
|
|||
}
|
||||
|
||||
if (path[3] != '\0') {
|
||||
if (!isdigit(to_uchar(path[3])) || path[3] == '0' ||
|
||||
if (!c_isdigit(path[3]) || path[3] == '0' ||
|
||||
virStrToLong_i(path+3, NULL, 10, &part) < 0 ||
|
||||
part < 1 || part > 63) {
|
||||
statsErrorFunc (conn, VIR_ERR_INVALID_ARG, __FUNCTION__,
|
||||
|
|
15
src/util.c
15
src/util.c
|
@ -37,7 +37,7 @@
|
|||
#include <sys/wait.h>
|
||||
#endif
|
||||
#include <string.h>
|
||||
#include <ctype.h>
|
||||
#include <c-ctype.h>
|
||||
|
||||
#ifdef HAVE_PATHS_H
|
||||
#include <paths.h>
|
||||
|
@ -57,9 +57,6 @@
|
|||
|
||||
#define MAX_ERROR_LEN 1024
|
||||
|
||||
#define TOLOWER(Ch) (isupper (to_uchar(Ch)) \
|
||||
? tolower (to_uchar (Ch)) : (to_uchar (Ch)))
|
||||
|
||||
#define virLog(msg...) fprintf(stderr, msg)
|
||||
|
||||
#ifndef PROXY
|
||||
|
@ -705,12 +702,12 @@ __virMacAddrCompare (const char *p, const char *q)
|
|||
{
|
||||
unsigned char c, d;
|
||||
do {
|
||||
while (*p == '0' && isxdigit (to_uchar(p[1])))
|
||||
while (*p == '0' && c_isxdigit (p[1]))
|
||||
++p;
|
||||
while (*q == '0' && isxdigit (to_uchar(q[1])))
|
||||
while (*q == '0' && c_isxdigit (q[1]))
|
||||
++q;
|
||||
c = TOLOWER (*p);
|
||||
d = TOLOWER (*q);
|
||||
c = c_tolower (*p);
|
||||
d = c_tolower (*q);
|
||||
|
||||
if (c == 0 || d == 0)
|
||||
break;
|
||||
|
@ -750,7 +747,7 @@ virParseMacAddr(const char* str, unsigned char *addr)
|
|||
/* This is solely to avoid accepting the leading
|
||||
* space or "+" that strtoul would otherwise accept.
|
||||
*/
|
||||
if (!isxdigit(to_uchar(*str)))
|
||||
if (!c_isxdigit(*str))
|
||||
break;
|
||||
|
||||
result = strtoul(str, &end_ptr, 16);
|
||||
|
|
|
@ -27,11 +27,6 @@
|
|||
#include "internal.h"
|
||||
#include "util-lib.h"
|
||||
|
||||
/* Convert a possibly-signed character to an unsigned character. This is
|
||||
a bit safer than casting to unsigned char, since it catches some type
|
||||
errors that the cast doesn't. */
|
||||
static inline unsigned char to_uchar (char ch) { return ch; }
|
||||
|
||||
int virExec(virConnectPtr conn, char **argv, int *retpid,
|
||||
int infd, int *outfd, int *errfd);
|
||||
int virExecNonBlock(virConnectPtr conn, char **argv, int *retpid,
|
||||
|
|
|
@ -26,7 +26,7 @@
|
|||
#include <getopt.h>
|
||||
#include <sys/types.h>
|
||||
#include <sys/time.h>
|
||||
#include <ctype.h>
|
||||
#include <c-ctype.h>
|
||||
#include <fcntl.h>
|
||||
#include <locale.h>
|
||||
#include <time.h>
|
||||
|
@ -1763,7 +1763,7 @@ cmdVcpupin(vshControl * ctl, vshCmd * cmd)
|
|||
for (i = 0; cpulist[i]; i++) {
|
||||
switch (state) {
|
||||
case expect_num:
|
||||
if (!isdigit (to_uchar(cpulist[i]))) {
|
||||
if (!c_isdigit (cpulist[i])) {
|
||||
vshError( ctl, FALSE, _("cpulist: %s: Invalid format. Expecting digit at position %d (near '%c')."), cpulist, i, cpulist[i]);
|
||||
virDomainFree (dom);
|
||||
return FALSE;
|
||||
|
@ -1773,7 +1773,7 @@ cmdVcpupin(vshControl * ctl, vshCmd * cmd)
|
|||
case expect_num_or_comma:
|
||||
if (cpulist[i] == ',')
|
||||
state = expect_num;
|
||||
else if (!isdigit (to_uchar(cpulist[i]))) {
|
||||
else if (!c_isdigit (cpulist[i])) {
|
||||
vshError(ctl, FALSE, _("cpulist: %s: Invalid format. Expecting digit or comma at position %d (near '%c')."), cpulist, i, cpulist[i]);
|
||||
virDomainFree (dom);
|
||||
return FALSE;
|
||||
|
@ -5673,7 +5673,7 @@ vshCommandGetToken(vshControl * ctl, char *str, char **end, char **res)
|
|||
|
||||
if (tk == VSH_TK_NONE) {
|
||||
if (*p == '-' && *(p + 1) == '-' && *(p + 2)
|
||||
&& isalnum(to_uchar(*(p + 2)))) {
|
||||
&& c_isalnum(*(p + 2))) {
|
||||
tk = VSH_TK_OPTION;
|
||||
p += 2;
|
||||
} else {
|
||||
|
|
|
@ -30,7 +30,6 @@
|
|||
#include <arpa/inet.h>
|
||||
#include <netdb.h>
|
||||
#include <libxml/uri.h>
|
||||
#include <ctype.h>
|
||||
#include <errno.h>
|
||||
|
||||
#include "libvirt/libvirt.h"
|
||||
|
|
Loading…
Reference in New Issue