Trailing spaces in POD files
by Richard W.M. Jones
IMHO trailing spaces should be permitted in POD files. Currently
they are prevented by the git upload hook.
The reason to allow them in POD files is because indentation is
used to indicate blocks of preformatted text (the equivalent of
<pre> in HTML). To keep code together in the output if it
contains blank lines you have to add a line containing a single
space.
For an example of where this is currently wrong, because we're not
allowed to have trailing spaces, see the preformatted code block
here:
http://libguestfs.org/guestfs.3.html#handles
I have no idea how the git hook is implemented or whether we can
make it give an exception to POD files. (Jim?)
Rich.
--
Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones
New in Fedora 11: Fedora Windows cross-compiler. Compile Windows
programs, test, and build Windows installers. Over 70 libraries supprt'd
http://fedoraproject.org/wiki/MinGW http://www.annexia.org/fedora_mingw
15 years, 1 month
guestmount symlink issues
by Matthew Booth
I'm trying to use guestmount to install some kernel modules in a guest:
[mbooth@mbooth linux-2.6 (amit)]$ make modules_install
INSTALL_MOD_PATH=~/etch
ln: creating symbolic link
`/home/mbooth/etch/lib/modules/2.6.32-rc6/source': No such file or directory
make: *** [_modinst_] Error 1
I think something's screwy with symlinks. In the following, /tmp/source
is a symlink, and I have previously attempted to create a source symlink
in the current directory:
[mbooth@mbooth 2.6.32-rc6]$ rm source
rm: cannot remove `source': No such file or directory
[mbooth@mbooth 2.6.32-rc6]$ mv /tmp/source .
mv: cannot create symbolic link `./source': File exists
[mbooth@mbooth 2.6.32-rc6]$ ln -s /tmp foo
ln: creating symbolic link `foo': No such file or directory
[mbooth@mbooth 2.6.32-rc6]$ mv /tmp/source foo
mv: cannot create symbolic link `foo': File exists
[mbooth@mbooth 2.6.32-rc6]$ ls
kernel
Booting the guest shows that the symlinks haven't been created. So it
looks like there are 2 possibly related issues here:
1. Symlink creation doesn't seem to work
2. Something subsequently believes the symlink exists
I can create a BZ later.
Matt
--
Matthew Booth, RHCA, RHCSS
Red Hat Engineering, Virtualisation Team
M: +44 (0)7977 267231
GPG ID: D33C3490
GPG FPR: 3733 612D 2D05 5458 8A8A 1600 3441 EA19 D33C 3490
15 years, 1 month
[PATCH libguestfs] build: revive the ocaml package tests
by Jim Meyering
This reinstates the autogen.sh-based test for the two
required ocaml packages.
I've tested it by running autoconf.sh first with neither
of the two packages installed, then with only ocaml-xml-light
installed. In both cases, autogen.sh failed as required.
When both were installed, it worked as expected.
>From 825d855b225c7c76371c72eae4d505a32c374007 Mon Sep 17 00:00:00 2001
From: Jim Meyering <meyering(a)redhat.com>
Date: Thu, 12 Nov 2009 11:34:08 +0100
Subject: [PATCH libguestfs] build: revive the ocaml package tests
* autogen.sh: Generalize the ocaml-package-existence test.
Remove the git-related part of the old test.
---
autogen.sh | 26 ++++++++++++++++++++++++++
1 files changed, 26 insertions(+), 0 deletions(-)
diff --git a/autogen.sh b/autogen.sh
index 9c73a2d..b31ec7b 100755
--- a/autogen.sh
+++ b/autogen.sh
@@ -42,6 +42,32 @@ if [ ! -z "$BUILDDIR" ]; then
CONFIGUREDIR=..
fi
+# Ensure that an ocaml package is present for build-from sources.
+# This is *not* for anything that is required at configure-time
+# when configure is run from a distribution tarball. From those,
+# nothing ocaml-related is required.
+# ocamlfind cannot detect the presence of -devel packages directly,
+# so if $pkg ends in -devel, first check for the base package, and
+# if that's found, check for the existence of $base.cmxa in the
+# resulting directory.
+require_ocaml_pkg()
+{
+ pkg=$1
+ case $pkg in
+ *-devel)
+ local base=${pkg%%-devel}
+ local dir=$(ocamlfind query "$base") || return 1
+ test -f "$dir/$base.cmxa" || return 1
+ ;;
+ *) ocamlfind query "$pkg" > /dev/null 2>&1 || return 1;;
+ esac
+ return 0
+}
+
+{ require_ocaml_pkg xml-light && require_ocaml_pkg xml-light-devel; } \
+ || { echo "you must have ocaml, ocamlfind, ocaml-xml-light" \
+ "and ocaml-xml-light-devel" >&2; exit 1; }
+
# If no arguments were specified and configure has run before, use the previous
# arguments
if [ $# == 0 -a -x ./config.status ]; then
--
1.6.5.2.372.gc0502
15 years, 1 month
ANNOUNCE: libguestfs 1.0.78 released
by Richard W.M. Jones
I'm pleased to announce the release of libguestfs 1.0.78.
Libguestfs is a library for accessing and modifying virtual machine
disk images.
Home page: http://libguestfs.org/
Source: http://libguestfs.org/download/
Binaries: http://libguestfs.org/FAQ.html#binaries
A Fedora build is available in Koji here:
http://koji.fedoraproject.org/koji/packageinfo?packageID=8391
(These release notes cover all the significant changes since the last
announcement which was for 1.0.67, 2 months ago).
New features:
- FUSE support so you can mount guest filesystems in the host:
http://rwmj.wordpress.com/2009/11/03/browsing-guests-using-fuse/
- Support for btrfs, gfs, gfs2, hfs, hfs+, nilfs2, jfs, reiserfs, xfs:
http://rwmj.wordpress.com/2009/11/08/filesystem-metadata-overhead/
- Support for huge (multi-exabyte) sparse virtual disks:
http://rwmj.wordpress.com/2009/11/04/petabytes-exabytes-why-not/
http://git.et.redhat.com/?p=libguestfs.git;a=commit;h=5ce72e039ca332ba19b...
- New partitioning API, supports GPT and more:
http://libguestfs.org/guestfs.3.html#guestfs_part_add
http://git.et.redhat.com/?p=libguestfs.git;a=commit;h=b1e1ca2f74a921b3f78...
- New tool: virt-ls
http://rwmj.wordpress.com/2009/10/19/new-tool-virt-ls/
- New tool: virt-tar
http://rwmj.wordpress.com/2009/10/19/new-tool-virt-tar/
- New tool: virt-edit
http://rwmj.wordpress.com/2009/09/23/virt-edit/
- New tool: virt-rescue
http://rwmj.wordpress.com/2009/09/22/virt-rescue/
- Windows Registry support, tools and library:
http://rwmj.wordpress.com/2009/10/29/virt-win-reg-get-at-the-windows-regi...
http://rwmj.wordpress.com/2009/10/28/libhivex-windows-registry-hive-extra...
- OCaml bindings for virt-inspector
- RELAX NG schema for virt-inspector
- New APIs: utimens, vfs_type, truncate, truncate_size, lchown,
lstatlist, lxattrlist, readlinklist, case_sensitive_path, find0,
mkfs_b, mke2journal, and more ...
- New program: OCaml viewer
http://rwmj.wordpress.com/2009/09/29/graphical-virt-df/
- Allow stdout to be redirected when running guestfish remotely (Matt Booth).
- Remove requirement for vmchannel support in qemu (horray!) and
the tricky main loop code.
Bug fixes:
(Too many to list here, see:
http://git.et.redhat.com/?p=libguestfs.git;a=log)
Thanks to: Jim Meyering, Matt Booth and Charles Duffy for lots of
bugfixes, patches and testing.
Rich.
--
Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones
libguestfs lets you edit virtual machines. Supports shell scripting,
bindings from many languages. http://et.redhat.com/~rjones/libguestfs/
See what it can do: http://et.redhat.com/~rjones/libguestfs/recipes.html
15 years, 1 month
[PATCH libguestfs] tell "make syntax-check" that examples/to-xml.c is exempt from some tests
by Jim Meyering
FYI, pushed:
>From bdfb1bddffa48cfb486331166b8aed91637cb0d6 Mon Sep 17 00:00:00 2001
From: Jim Meyering <meyering(a)redhat.com>
Date: Tue, 10 Nov 2009 18:49:42 +0100
Subject: [PATCH libguestfs] tell "make syntax-check" that examples/to-xml.c is exempt from some tests
* .x-sc_prohibit_strcmp: Exempt examples/to-xml.c.
* .x-sc_prohibit_strcmp_and_strncmp: Likewise.
---
.x-sc_prohibit_strcmp | 1 +
.x-sc_prohibit_strcmp_and_strncmp | 1 +
2 files changed, 2 insertions(+), 0 deletions(-)
create mode 100644 .x-sc_prohibit_strcmp
create mode 100644 .x-sc_prohibit_strcmp_and_strncmp
diff --git a/.x-sc_prohibit_strcmp b/.x-sc_prohibit_strcmp
new file mode 100644
index 0000000..8325007
--- /dev/null
+++ b/.x-sc_prohibit_strcmp
@@ -0,0 +1 @@
+^examples/to-xml\.c$
diff --git a/.x-sc_prohibit_strcmp_and_strncmp b/.x-sc_prohibit_strcmp_and_strncmp
new file mode 100644
index 0000000..8325007
--- /dev/null
+++ b/.x-sc_prohibit_strcmp_and_strncmp
@@ -0,0 +1 @@
+^examples/to-xml\.c$
--
1.6.5.2.351.g0943
15 years, 1 month
[PATCH libguestfs] build: die early if we lack ocaml, ocamlfind or ocaml-xml-light
by Jim Meyering
It was a pain to diagnose a build failure due to the lack of ocaml-xml-light.
With this change, autogen.sh will diagnose it for you.
If there end up being more than that one required ocaml package, I'd
change things to factor out the literal string in the diagnostic.
>From abc8363ef71809bd0986b752465ca6f65660ca4c Mon Sep 17 00:00:00 2001
From: Jim Meyering <meyering(a)redhat.com>
Date: Tue, 10 Nov 2009 14:31:42 +0100
Subject: [PATCH libguestfs] build: die early if we lack ocaml, ocamlfind or ocaml-xml-light
* autogen.sh: Ensure that we fail very early when not building
from a tarball and when one of those is not installed.
---
autogen.sh | 19 +++++++++++++++++++
1 files changed, 19 insertions(+), 0 deletions(-)
diff --git a/autogen.sh b/autogen.sh
index 9c73a2d..aff17f9 100755
--- a/autogen.sh
+++ b/autogen.sh
@@ -42,6 +42,25 @@ if [ ! -z "$BUILDDIR" ]; then
CONFIGUREDIR=..
fi
+# Ensure that an ocaml package is present for build-from sources.
+# This is *not* for anything that is required at configure-time
+# when configure is run from a distribution tarball. From those,
+# nothing ocaml-related is required.
+require_ocaml_pkg()
+{
+ pkg=$1
+ test -d .git || return 1
+ url=$(git config remote.origin.url) || return 1
+ case $url in
+ *git.et.redhat.com/libguestfs.git) ;;
+ *) return 1;; esac
+ ocamlfind query "$pkg" || return 1
+ return 0
+}
+
+require_ocaml_pkg xml-light \
+ || { echo "you must have ocaml, ocamlfind and ocaml-xml-light"; exit 1; }
+
# If no arguments were specified and configure has run before, use the previous
# arguments
if [ $# == 0 -a -x ./config.status ]; then
--
1.6.5.2.351.g0943
15 years, 1 month
use STREQ(a,b), not strcmp(a,b) == 0
by Jim Meyering
The series below makes changes like these mechanically,
one class of change per change-set:
strcmp(...) == 0 to STREQ(...)
strcmp(...) != 0 to STRNEQ(...)
strncmp(...) == 0 to STREQLEN(...)
strncmp(...) != 0 to STRNEQLEN(...)
strcasecmp(...) == 0 to STRCASEEQ(...)
strcasecmp(...) != 0 to STRCASENEQ(...)
strncasecmp(...) == 0 to STRCASEEQLEN(...)
strncasecmp(...) != 0 to STRCASENEQLEN(...)
Then it enables the "make syntax-check" tests to ensure
no offending (convertable) use is introduced.
But there's one twist.
In order for the substitution commands to work as-is,
I first converted str*cmp functions, and *then* added
the #define stmts. Afterwards, I used git rebase -i to
move the final #define-adding-commit to precede the others.
That makes it so that the code compiles after each new change set.
If I'd added the #defines before performing the substitutions,
I would have had to make the commands more involved to keep
them from transforming the #defines.
Just noticed that the actual definitions are
over-parenthesized, and can be simplified to this:
#define STREQ(a,b) (strcmp(a,b) == 0)
#define STRNEQ(a,b) (!STREQ(a,b))
#define STRCASEEQ(a,b) (strcasecmp(a,b) == 0)
#define STRCASENEQ(a,b) (!STRCASEEQ(a,b))
#define STREQLEN(a,b,n) (strncmp(a,b,n) == 0)
#define STRNEQLEN(a,b,n) (!STREQLEN(a,b,n))
#define STRCASEEQLEN(a,b,n) (strncasecmp(a,b,n) == 0)
#define STRCASENEQLEN(a,b,n) (!STRCASEEQLEN(a,b,n))
#define STRPREFIX(a,b) (strncmp((a),(b),strlen((b))) == 0)
I'll adjust to use the above tomorrow.
---------------------------------------------
>From a reviewer's perspective, it's useful to know that 2-8
were done mechanically. Only 1 and 10 were done manually.
This has not yet passed "make check", possibly due to unrelated
problems.
>From 7cd4b6aeee3693463b03608a31cf53f21152c2e8 Mon Sep 17 00:00:00 2001
From: Jim Meyering <meyering(a)redhat.com>
Date: Mon, 9 Nov 2009 19:50:22 +0100
Subject: [PATCH libguestfs 01/10] define STREQ, STRNEQ, STREQLEN, STRCASEQ, etc.
* src/guestfs.h: Define STREQ and company.
* daemon/daemon.h: Likewise.
* hivex/hivex.h: Likewise.
---
daemon/daemon.h | 10 ++++++++++
hivex/hivex.h | 10 ++++++++++
src/guestfs.h | 10 ++++++++++
3 files changed, 30 insertions(+), 0 deletions(-)
diff --git a/daemon/daemon.h b/daemon/daemon.h
index 8912840..3f4c480 100644
--- a/daemon/daemon.h
+++ b/daemon/daemon.h
@@ -234,4 +234,14 @@ extern void reply (xdrproc_t xdrp, char *ret);
# define ATTRIBUTE_UNUSED __attribute__ ((__unused__))
#endif
+#define STREQ(a,b) (strcmp((a),(b)) == 0)
+#define STRCASEEQ(a,b) (strcasecmp((a),(b)) == 0)
+#define STRNEQ(a,b) (strcmp((a),(b)) != 0)
+#define STRCASENEQ(a,b) (strcasecmp((a),(b)) != 0)
+#define STREQLEN(a,b,n) (strncmp((a),(b),(n)) == 0)
+#define STRCASEEQLEN(a,b,n) (strncasecmp((a),(b),(n)) == 0)
+#define STRNEQLEN(a,b,n) (strncmp((a),(b),(n)) != 0)
+#define STRCASENEQLEN(a,b,n) (strncasecmp((a),(b),(n)) != 0)
+#define STRPREFIX(a,b) (strncmp((a),(b),strlen((b))) == 0)
+
#endif /* GUESTFSD_DAEMON_H */
diff --git a/hivex/hivex.h b/hivex/hivex.h
index 14bdcc5..be7feee 100644
--- a/hivex/hivex.h
+++ b/hivex/hivex.h
@@ -73,6 +73,16 @@ typedef enum hive_type hive_type;
#define HIVEX_OPEN_DEBUG 2
#define HIVEX_OPEN_MSGLVL_MASK 3
+#define STREQ(a,b) (strcmp((a),(b)) == 0)
+#define STRCASEEQ(a,b) (strcasecmp((a),(b)) == 0)
+#define STRNEQ(a,b) (strcmp((a),(b)) != 0)
+#define STRCASENEQ(a,b) (strcasecmp((a),(b)) != 0)
+#define STREQLEN(a,b,n) (strncmp((a),(b),(n)) == 0)
+#define STRCASEEQLEN(a,b,n) (strncasecmp((a),(b),(n)) == 0)
+#define STRNEQLEN(a,b,n) (strncmp((a),(b),(n)) != 0)
+#define STRCASENEQLEN(a,b,n) (strncasecmp((a),(b),(n)) != 0)
+#define STRPREFIX(a,b) (strncmp((a),(b),strlen((b))) == 0)
+
extern hive_h *hivex_open (const char *filename, int flags);
extern int hivex_close (hive_h *h);
extern hive_node_h hivex_root (hive_h *h);
diff --git a/src/guestfs.h b/src/guestfs.h
index 35f995d..e89f744 100644
--- a/src/guestfs.h
+++ b/src/guestfs.h
@@ -30,6 +30,16 @@
extern "C" {
#endif
+#define STREQ(a,b) (strcmp((a),(b)) == 0)
+#define STRCASEEQ(a,b) (strcasecmp((a),(b)) == 0)
+#define STRNEQ(a,b) (strcmp((a),(b)) != 0)
+#define STRCASENEQ(a,b) (strcasecmp((a),(b)) != 0)
+#define STREQLEN(a,b,n) (strncmp((a),(b),(n)) == 0)
+#define STRCASEEQLEN(a,b,n) (strncasecmp((a),(b),(n)) == 0)
+#define STRNEQLEN(a,b,n) (strncmp((a),(b),(n)) != 0)
+#define STRCASENEQLEN(a,b,n) (strncasecmp((a),(b),(n)) != 0)
+#define STRPREFIX(a,b) (strncmp((a),(b),strlen((b))) == 0)
+
typedef struct guestfs_h guestfs_h;
/* Connection management. */
--
1.6.5.2.351.g0943
>From 9353c6253d5fac1648b13ad9958468a2d9f6ad6f Mon Sep 17 00:00:00 2001
From: Jim Meyering <meyering(a)redhat.com>
Date: Mon, 9 Nov 2009 13:58:42 +0100
Subject: [PATCH libguestfs 02/10] convert uses of strcasecmp to STRCASEEQ
git grep -l 'strcasecmp *([^=]*== *0'| xargs \
perl -pi -e 's/\bstrcasecmp( *\(.*?\)) *== *0/STRCASEEQ$1/'
---
daemon/checksum.c | 14 +++++-----
daemon/debug.c | 2 +-
daemon/realpath.c | 2 +-
fish/edit.c | 4 +-
fish/fish.c | 68 ++++++++++++++++++++++++++--------------------------
fish/more.c | 2 +-
hivex/hivex.c | 4 +-
src/generator.ml | 12 ++++----
8 files changed, 54 insertions(+), 54 deletions(-)
diff --git a/daemon/checksum.c b/daemon/checksum.c
index 2423265..499d19d 100644
--- a/daemon/checksum.c
+++ b/daemon/checksum.c
@@ -36,19 +36,19 @@ do_checksum (const char *csumtype, const char *path)
int r;
int len;
- if (strcasecmp (csumtype, "crc") == 0)
+ if (STRCASEEQ (csumtype, "crc"))
program = "cksum";
- else if (strcasecmp (csumtype, "md5") == 0)
+ else if (STRCASEEQ (csumtype, "md5"))
program = "md5sum";
- else if (strcasecmp (csumtype, "sha1") == 0)
+ else if (STRCASEEQ (csumtype, "sha1"))
program = "sha1sum";
- else if (strcasecmp (csumtype, "sha224") == 0)
+ else if (STRCASEEQ (csumtype, "sha224"))
program = "sha224sum";
- else if (strcasecmp (csumtype, "sha256") == 0)
+ else if (STRCASEEQ (csumtype, "sha256"))
program = "sha256sum";
- else if (strcasecmp (csumtype, "sha384") == 0)
+ else if (STRCASEEQ (csumtype, "sha384"))
program = "sha384sum";
- else if (strcasecmp (csumtype, "sha512") == 0)
+ else if (STRCASEEQ (csumtype, "sha512"))
program = "sha512sum";
else {
reply_with_error ("unknown checksum type, expecting crc|md5|sha1|sha224|sha256|sha384|sha512");
diff --git a/daemon/debug.c b/daemon/debug.c
index 8daa032..04c52f0 100644
--- a/daemon/debug.c
+++ b/daemon/debug.c
@@ -80,7 +80,7 @@ do_debug (const char *subcmd MAYBE_UNUSED, char *const *argv MAYBE_UNUSED)
argc++;
for (i = 0; cmds[i].cmd != NULL; ++i) {
- if (strcasecmp (subcmd, cmds[i].cmd) == 0)
+ if (STRCASEEQ (subcmd, cmds[i].cmd))
return cmds[i].f (subcmd, argc, argv);
}
diff --git a/daemon/realpath.c b/daemon/realpath.c
index 0dc5fa5..17e74ea 100644
--- a/daemon/realpath.c
+++ b/daemon/realpath.c
@@ -113,7 +113,7 @@ do_case_sensitive_path (const char *path)
errno = 0;
while ((d = readdir (dir)) != NULL) {
- if (strcasecmp (d->d_name, name) == 0)
+ if (STRCASEEQ (d->d_name, name))
break;
}
diff --git a/fish/edit.c b/fish/edit.c
index 1b6ce23..d30b3ca 100644
--- a/fish/edit.c
+++ b/fish/edit.c
@@ -88,9 +88,9 @@ do_edit (const char *cmd, int argc, char *argv[])
}
/* Choose an editor. */
- if (strcasecmp (cmd, "vi") == 0)
+ if (STRCASEEQ (cmd, "vi"))
editor = "vi";
- else if (strcasecmp (cmd, "emacs") == 0)
+ else if (STRCASEEQ (cmd, "emacs"))
editor = "emacs -nw";
else {
editor = getenv ("EDITOR");
diff --git a/fish/fish.c b/fish/fish.c
index 3ab09b5..9a89f55 100644
--- a/fish/fish.c
+++ b/fish/fish.c
@@ -843,40 +843,40 @@ issue_command (const char *cmd, char *argv[], const char *pipecmd)
r = rc_remote (remote_control, cmd, argc, argv, exit_on_error);
/* Otherwise execute it locally. */
- else if (strcasecmp (cmd, "help") == 0) {
+ else if (STRCASEEQ (cmd, "help")) {
if (argc == 0)
list_commands ();
else
display_command (argv[0]);
r = 0;
}
- else if (strcasecmp (cmd, "quit") == 0 ||
- strcasecmp (cmd, "exit") == 0 ||
- strcasecmp (cmd, "q") == 0) {
+ else if (STRCASEEQ (cmd, "quit") ||
+ STRCASEEQ (cmd, "exit") ||
+ STRCASEEQ (cmd, "q")) {
quit = 1;
r = 0;
}
- else if (strcasecmp (cmd, "alloc") == 0 ||
- strcasecmp (cmd, "allocate") == 0)
+ else if (STRCASEEQ (cmd, "alloc") ||
+ STRCASEEQ (cmd, "allocate"))
r = do_alloc (cmd, argc, argv);
- else if (strcasecmp (cmd, "echo") == 0)
+ else if (STRCASEEQ (cmd, "echo"))
r = do_echo (cmd, argc, argv);
- else if (strcasecmp (cmd, "edit") == 0 ||
- strcasecmp (cmd, "vi") == 0 ||
- strcasecmp (cmd, "emacs") == 0)
+ else if (STRCASEEQ (cmd, "edit") ||
+ STRCASEEQ (cmd, "vi") ||
+ STRCASEEQ (cmd, "emacs"))
r = do_edit (cmd, argc, argv);
- else if (strcasecmp (cmd, "lcd") == 0)
+ else if (STRCASEEQ (cmd, "lcd"))
r = do_lcd (cmd, argc, argv);
- else if (strcasecmp (cmd, "glob") == 0)
+ else if (STRCASEEQ (cmd, "glob"))
r = do_glob (cmd, argc, argv);
- else if (strcasecmp (cmd, "more") == 0 ||
- strcasecmp (cmd, "less") == 0)
+ else if (STRCASEEQ (cmd, "more") ||
+ STRCASEEQ (cmd, "less"))
r = do_more (cmd, argc, argv);
- else if (strcasecmp (cmd, "reopen") == 0)
+ else if (STRCASEEQ (cmd, "reopen"))
r = do_reopen (cmd, argc, argv);
- else if (strcasecmp (cmd, "sparse") == 0)
+ else if (STRCASEEQ (cmd, "sparse"))
r = do_sparse (cmd, argc, argv);
- else if (strcasecmp (cmd, "time") == 0)
+ else if (STRCASEEQ (cmd, "time"))
r = do_time (cmd, argc, argv);
else
r = run_action (cmd, argc, argv);
@@ -941,8 +941,8 @@ display_builtin_command (const char *cmd)
{
/* help for actions is auto-generated, see display_command */
- if (strcasecmp (cmd, "alloc") == 0 ||
- strcasecmp (cmd, "allocate") == 0)
+ if (STRCASEEQ (cmd, "alloc") ||
+ STRCASEEQ (cmd, "allocate"))
printf (_("alloc - allocate an image\n"
" alloc <filename> <size>\n"
"\n"
@@ -961,14 +961,14 @@ display_builtin_command (const char *cmd)
" <nn>P or <nn>PB number of petabytes\n"
" <nn>E or <nn>EB number of exabytes\n"
" <nn>sects number of 512 byte sectors\n"));
- else if (strcasecmp (cmd, "echo") == 0)
+ else if (STRCASEEQ (cmd, "echo"))
printf (_("echo - display a line of text\n"
" echo [<params> ...]\n"
"\n"
" This echos the parameters to the terminal.\n"));
- else if (strcasecmp (cmd, "edit") == 0 ||
- strcasecmp (cmd, "vi") == 0 ||
- strcasecmp (cmd, "emacs") == 0)
+ else if (STRCASEEQ (cmd, "edit") ||
+ STRCASEEQ (cmd, "vi") ||
+ STRCASEEQ (cmd, "emacs"))
printf (_("edit - edit a file in the image\n"
" edit <filename>\n"
"\n"
@@ -982,26 +982,26 @@ display_builtin_command (const char *cmd)
"\n"
" NOTE: This will not work reliably for large files\n"
" (> 2 MB) or binary files containing \\0 bytes.\n"));
- else if (strcasecmp (cmd, "lcd") == 0)
+ else if (STRCASEEQ (cmd, "lcd"))
printf (_("lcd - local change directory\n"
" lcd <directory>\n"
"\n"
" Change guestfish's current directory. This command is\n"
" useful if you want to download files to a particular\n"
" place.\n"));
- else if (strcasecmp (cmd, "glob") == 0)
+ else if (STRCASEEQ (cmd, "glob"))
printf (_("glob - expand wildcards in command\n"
" glob <command> [<args> ...]\n"
"\n"
" Glob runs <command> with wildcards expanded in any\n"
" command args. Note that the command is run repeatedly\n"
" once for each expanded argument.\n"));
- else if (strcasecmp (cmd, "help") == 0)
+ else if (STRCASEEQ (cmd, "help"))
printf (_("help - display a list of commands or help on a command\n"
" help cmd\n"
" help\n"));
- else if (strcasecmp (cmd, "more") == 0 ||
- strcasecmp (cmd, "less") == 0)
+ else if (STRCASEEQ (cmd, "more") ||
+ STRCASEEQ (cmd, "less"))
printf (_("more - view a file in the pager\n"
" more <filename>\n"
"\n"
@@ -1015,19 +1015,19 @@ display_builtin_command (const char *cmd)
"\n"
" NOTE: This will not work reliably for large files\n"
" (> 2 MB) or binary files containing \\0 bytes.\n"));
- else if (strcasecmp (cmd, "quit") == 0 ||
- strcasecmp (cmd, "exit") == 0 ||
- strcasecmp (cmd, "q") == 0)
+ else if (STRCASEEQ (cmd, "quit") ||
+ STRCASEEQ (cmd, "exit") ||
+ STRCASEEQ (cmd, "q"))
printf (_("quit - quit guestfish\n"
" quit\n"));
- else if (strcasecmp (cmd, "reopen") == 0)
+ else if (STRCASEEQ (cmd, "reopen"))
printf (_("reopen - close and reopen the libguestfs handle\n"
" reopen\n"
"\n"
"Close and reopen the libguestfs handle. It is not necessary to use\n"
"this normally, because the handle is closed properly when guestfish\n"
"exits. However this is occasionally useful for testing.\n"));
- else if (strcasecmp (cmd, "sparse") == 0)
+ else if (STRCASEEQ (cmd, "sparse"))
printf (_("sparse - allocate a sparse image file\n"
" sparse <filename> <size>\n"
"\n"
@@ -1054,7 +1054,7 @@ display_builtin_command (const char *cmd)
" <nn>P or <nn>PB number of petabytes\n"
" <nn>E or <nn>EB number of exabytes\n"
" <nn>sects number of 512 byte sectors\n"));
- else if (strcasecmp (cmd, "time") == 0)
+ else if (STRCASEEQ (cmd, "time"))
printf (_("time - measure time taken to run command\n"
" time <command> [<args> ...]\n"
"\n"
diff --git a/fish/more.c b/fish/more.c
index 9abb51b..a32d5b4 100644
--- a/fish/more.c
+++ b/fish/more.c
@@ -42,7 +42,7 @@ do_more (const char *cmd, int argc, char *argv[])
}
/* Choose a pager. */
- if (strcasecmp (cmd, "less") == 0)
+ if (STRCASEEQ (cmd, "less"))
pager = "less";
else {
pager = getenv ("PAGER");
diff --git a/hivex/hivex.c b/hivex/hivex.c
index b20fe73..8ea2c2b 100644
--- a/hivex/hivex.c
+++ b/hivex/hivex.c
@@ -725,7 +725,7 @@ hivex_node_get_child (hive_h *h, hive_node_h node, const char *nname)
for (i = 0; children[i] != 0; ++i) {
name = hivex_node_name (h, children[i]);
if (!name) goto error;
- if (strcasecmp (name, nname) == 0) {
+ if (STRCASEEQ (name, nname)) {
ret = children[i];
break;
}
@@ -856,7 +856,7 @@ hivex_node_get_value (hive_h *h, hive_node_h node, const char *key)
for (i = 0; values[i] != 0; ++i) {
name = hivex_value_key (h, values[i]);
if (!name) goto error;
- if (strcasecmp (name, key) == 0) {
+ if (STRCASEEQ (name, key)) {
ret = values[i];
break;
}
diff --git a/src/generator.ml b/src/generator.ml
index 17519fe..3a25c57 100644
--- a/src/generator.ml
+++ b/src/generator.ml
@@ -6430,11 +6430,11 @@ and generate_fish_cmds () =
else "" in
pr " if (";
- pr "strcasecmp (cmd, \"%s\") == 0" name;
+ pr "STRCASEEQ (cmd, \"%s\")" name;
if name <> name2 then
- pr " || strcasecmp (cmd, \"%s\") == 0" name2;
+ pr " || STRCASEEQ (cmd, \"%s\")" name2;
if name <> alias then
- pr " || strcasecmp (cmd, \"%s\") == 0" alias;
+ pr " || STRCASEEQ (cmd, \"%s\")" alias;
pr ")\n";
pr " pod2text (\"%s\", _(\"%s\"), %S);\n"
name2 shortdesc
@@ -6692,11 +6692,11 @@ and generate_fish_cmds () =
try find_map (function FishAlias n -> Some n | _ -> None) flags
with Not_found -> name in
pr " if (";
- pr "strcasecmp (cmd, \"%s\") == 0" name;
+ pr "STRCASEEQ (cmd, \"%s\")" name;
if name <> name2 then
- pr " || strcasecmp (cmd, \"%s\") == 0" name2;
+ pr " || STRCASEEQ (cmd, \"%s\")" name2;
if name <> alias then
- pr " || strcasecmp (cmd, \"%s\") == 0" alias;
+ pr " || STRCASEEQ (cmd, \"%s\")" alias;
pr ")\n";
pr " return run_%s (cmd, argc, argv);\n" name;
pr " else\n";
--
1.6.5.2.351.g0943
>From 29842da1379ece83eae98ee786b475ae161f1687 Mon Sep 17 00:00:00 2001
From: Jim Meyering <meyering(a)redhat.com>
Date: Mon, 9 Nov 2009 14:06:37 +0100
Subject: [PATCH libguestfs 03/10] convert strcasecmp(...) != 0 to STRCASENEQ(...)
git grep -E -l 'strcasecmp *\(.*!= ?0\b'|xargs \
perl -pi -e 's/\bstrcasecmp( ?\(.*?\)) != 0/STRCASENEQ$1/g'
---
fish/fish.c | 10 +++++-----
1 files changed, 5 insertions(+), 5 deletions(-)
diff --git a/fish/fish.c b/fish/fish.c
index 9a89f55..cac4e4a 100644
--- a/fish/fish.c
+++ b/fish/fish.c
@@ -1107,11 +1107,11 @@ int
is_true (const char *str)
{
return
- strcasecmp (str, "0") != 0 &&
- strcasecmp (str, "f") != 0 &&
- strcasecmp (str, "false") != 0 &&
- strcasecmp (str, "n") != 0 &&
- strcasecmp (str, "no") != 0;
+ STRCASENEQ (str, "0") &&
+ STRCASENEQ (str, "f") &&
+ STRCASENEQ (str, "false") &&
+ STRCASENEQ (str, "n") &&
+ STRCASENEQ (str, "no");
}
/* Free strings from a non-NULL terminated char** */
--
1.6.5.2.351.g0943
>From 627f89351d06e43564b47ea42cabaa522284c2a1 Mon Sep 17 00:00:00 2001
From: Jim Meyering <meyering(a)redhat.com>
Date: Mon, 9 Nov 2009 14:21:46 +0100
Subject: [PATCH libguestfs 04/10] change strncmp(...) != 0 to STRNEQLEN(...)
git grep -l 'strncmp *([^=]*!= *0'|xargs \
perl -pi -e 's/\bstrncmp( *\(.*?\)) *!= *0/STRNEQLEN$1/g'
---
daemon/daemon.h | 2 +-
daemon/guestfsd.c | 2 +-
examples/to-xml.c | 2 +-
src/generator.ml | 2 +-
4 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/daemon/daemon.h b/daemon/daemon.h
index 3f4c480..1cdb480 100644
--- a/daemon/daemon.h
+++ b/daemon/daemon.h
@@ -164,7 +164,7 @@ extern void reply (xdrproc_t xdrp, char *ret);
*/
#define RESOLVE_DEVICE(path,fail_stmt) \
do { \
- if (strncmp ((path), "/dev/", 5) != 0) { \
+ if (STRNEQLEN ((path), "/dev/", 5)) { \
reply_with_error ("%s: %s: expecting a device name", __func__, (path)); \
fail_stmt; \
} \
diff --git a/daemon/guestfsd.c b/daemon/guestfsd.c
index d16826f..61a6236 100644
--- a/daemon/guestfsd.c
+++ b/daemon/guestfsd.c
@@ -945,7 +945,7 @@ device_name_translation (char *device, const char *func)
}
/* If the name begins with "/dev/sd" then try the alternatives. */
- if (strncmp (device, "/dev/sd", 7) != 0)
+ if (STRNEQLEN (device, "/dev/sd", 7))
goto error;
device[5] = 'h'; /* /dev/hd (old IDE driver) */
diff --git a/examples/to-xml.c b/examples/to-xml.c
index 6d0a1df..f48d1ca 100644
--- a/examples/to-xml.c
+++ b/examples/to-xml.c
@@ -149,7 +149,7 @@ display_partitions (guestfs_h *g, const char *dev)
* That's a limitation of sorts of the Linux kernel. (Actually,
* we could do this if we add the kpartx program to libguestfs).
*/
- if (strncmp (dev, "/dev/sd", 7) != 0 || isdigit (dev[strlen(dev)-1])) {
+ if (STRNEQLEN (dev, "/dev/sd", 7) || isdigit (dev[strlen(dev)-1])) {
printf ("<vm-image dev=\"%s\"/>\n", dev);
return;
}
diff --git a/src/generator.ml b/src/generator.ml
index 3a25c57..aff6356 100644
--- a/src/generator.ml
+++ b/src/generator.ml
@@ -6146,7 +6146,7 @@ and generate_one_test_body name i test_name init test =
pr " fprintf (stderr, \"%s: returned size of buffer wrong, expected %d but got %%zu\\n\", size);\n" test_name len;
pr " return -1;\n";
pr " }\n";
- pr " if (strncmp (r, expected, size) != 0) {\n";
+ pr " if (STRNEQLEN (r, expected, size)) {\n";
pr " fprintf (stderr, \"%s: expected \\\"%%s\\\" but got \\\"%%s\\\"\\n\", expected, r);\n" test_name;
pr " return -1;\n";
pr " }\n"
--
1.6.5.2.351.g0943
>From 3e70b34eed5a48640e20fbf6dcba774aaace1f3c Mon Sep 17 00:00:00 2001
From: Jim Meyering <meyering(a)redhat.com>
Date: Mon, 9 Nov 2009 14:26:21 +0100
Subject: [PATCH libguestfs 05/10] change strncmp() == 0 to STREQLEN()
git grep -l 'strncmp *([^=]*== *0'|xargs \
perl -pi -e 's/\bstrncmp( *\(.*?\)) *== *0\b/STREQLEN$1/g'
---
daemon/daemon.h | 2 +-
daemon/devsparts.c | 10 +++++-----
daemon/ext2.c | 2 +-
daemon/file.c | 2 +-
daemon/guestfsd.c | 2 +-
daemon/mount.c | 2 +-
daemon/upload.c | 4 ++--
examples/to-xml.c | 8 ++++----
fish/destpaths.c | 2 +-
fish/edit.c | 2 +-
fish/tilde.c | 2 +-
hivex/hivex.c | 2 +-
test-tool/test-tool.c | 2 +-
13 files changed, 21 insertions(+), 21 deletions(-)
diff --git a/daemon/daemon.h b/daemon/daemon.h
index 1cdb480..ac68479 100644
--- a/daemon/daemon.h
+++ b/daemon/daemon.h
@@ -184,7 +184,7 @@ extern void reply (xdrproc_t xdrp, char *ret);
*/
#define REQUIRE_ROOT_OR_RESOLVE_DEVICE(path,fail_stmt) \
do { \
- if (strncmp ((path), "/dev/", 5) == 0) \
+ if (STREQLEN ((path), "/dev/", 5)) \
RESOLVE_DEVICE ((path), fail_stmt); \
else { \
NEED_ROOT (fail_stmt); \
diff --git a/daemon/devsparts.c b/daemon/devsparts.c
index 76852cc..60e7aa8 100644
--- a/daemon/devsparts.c
+++ b/daemon/devsparts.c
@@ -53,10 +53,10 @@ foreach_block_device (block_dev_func_t func)
struct dirent *d = readdir(dir);
if(NULL == d) break;
- if (strncmp (d->d_name, "sd", 2) == 0 ||
- strncmp (d->d_name, "hd", 2) == 0 ||
- strncmp (d->d_name, "vd", 2) == 0 ||
- strncmp (d->d_name, "sr", 2) == 0) {
+ if (STREQLEN (d->d_name, "sd", 2) ||
+ STREQLEN (d->d_name, "hd", 2) ||
+ STREQLEN (d->d_name, "vd", 2) ||
+ STREQLEN (d->d_name, "sr", 2)) {
char dev_path[256];
snprintf (dev_path, sizeof dev_path, "/dev/%s", d->d_name);
@@ -153,7 +153,7 @@ add_partitions(const char *device,
errno = 0;
struct dirent *d;
while ((d = readdir (dir)) != NULL) {
- if (strncmp (d->d_name, device, strlen (device)) == 0) {
+ if (STREQLEN (d->d_name, device, strlen (device))) {
char part[256];
snprintf (part, sizeof part, "/dev/%s", d->d_name);
diff --git a/daemon/ext2.c b/daemon/ext2.c
index 0021a06..14cbb3c 100644
--- a/daemon/ext2.c
+++ b/daemon/ext2.c
@@ -48,7 +48,7 @@ do_tune2fs_l (const char *device)
p = out;
/* Discard the first line if it contains "tune2fs ...". */
- if (strncmp (p, "tune2fs ", 8) == 0) {
+ if (STREQLEN (p, "tune2fs ", 8)) {
p = strchr (p, '\n');
if (p) p++;
else {
diff --git a/daemon/file.c b/daemon/file.c
index 7854ade..62de116 100644
--- a/daemon/file.c
+++ b/daemon/file.c
@@ -430,7 +430,7 @@ do_file (const char *path)
char *buf;
int len;
- if (strncmp (path, "/dev/", 5) == 0)
+ if (STREQLEN (path, "/dev/", 5))
buf = (char *) path;
else {
buf = sysroot_path (path);
diff --git a/daemon/guestfsd.c b/daemon/guestfsd.c
index 61a6236..5789fed 100644
--- a/daemon/guestfsd.c
+++ b/daemon/guestfsd.c
@@ -226,7 +226,7 @@ main (int argc, char *argv[])
/* Connect to vmchannel. */
int sock = -1;
- if (strncmp (vmchannel, "tcp:", 4) == 0) {
+ if (STREQLEN (vmchannel, "tcp:", 4)) {
/* Resolve the hostname. */
struct addrinfo *res, *rr;
struct addrinfo hints;
diff --git a/daemon/mount.c b/daemon/mount.c
index 463e789..5a27cea 100644
--- a/daemon/mount.c
+++ b/daemon/mount.c
@@ -112,7 +112,7 @@ do_umount (const char *pathordevice)
char *buf;
int is_dev;
- is_dev = strncmp (pathordevice, "/dev/", 5) == 0;
+ is_dev = STREQLEN (pathordevice, "/dev/", 5);
buf = is_dev ? strdup (pathordevice)
: sysroot_path (pathordevice);
if (buf == NULL) {
diff --git a/daemon/upload.c b/daemon/upload.c
index da86bd6..7b2ccea 100644
--- a/daemon/upload.c
+++ b/daemon/upload.c
@@ -40,7 +40,7 @@ do_upload (const char *filename)
{
int err, fd, r, is_dev;
- is_dev = strncmp (filename, "/dev/", 5) == 0;
+ is_dev = STREQLEN (filename, "/dev/", 5);
if (!is_dev) {
if (!root_mounted || filename[0] != '/') {
cancel_receive ();
@@ -93,7 +93,7 @@ do_download (const char *filename)
int fd, r, is_dev;
char buf[GUESTFS_MAX_CHUNK_SIZE];
- is_dev = strncmp (filename, "/dev/", 5) == 0;
+ is_dev = STREQLEN (filename, "/dev/", 5);
if (!is_dev) CHROOT_IN;
fd = open (filename, O_RDONLY);
diff --git a/examples/to-xml.c b/examples/to-xml.c
index f48d1ca..4317619 100644
--- a/examples/to-xml.c
+++ b/examples/to-xml.c
@@ -87,8 +87,8 @@ main (int argc, char *argv[])
int len = strlen (vgs[i]);
int j;
for (j = 0; lvs[j] != NULL; ++j) {
- if (strncmp (lvs[j], "/dev/", 5) == 0 &&
- strncmp (&lvs[j][5], vgs[i], len) == 0 &&
+ if (STREQLEN (lvs[j], "/dev/", 5) &&
+ STREQLEN (&lvs[j][5], vgs[i], len) &&
lvs[j][len+5] == '/') {
int64_t size;
CALL (size = guestfs_blockdev_getsize64 (g, lvs[j]), -1);
@@ -125,7 +125,7 @@ display_partition (guestfs_h *g, const char *dev)
printf ("<windows/>\n");
else if (strstr (what, "boot sector") != NULL)
display_partitions (g, dev);
- else if (strncmp (what, "LVM2", 4) == 0)
+ else if (STREQLEN (what, "LVM2", 4))
printf ("<physvol/>\n");
else if (strstr (what, "ext2 filesystem data") != NULL)
display_ext234 (g, dev, "ext2");
@@ -162,7 +162,7 @@ display_partitions (guestfs_h *g, const char *dev)
len = strlen (dev);
for (i = 0; parts[i] != NULL; ++i) {
/* Only display partition if it's in the device. */
- if (strncmp (parts[i], dev, len) == 0) {
+ if (STREQLEN (parts[i], dev, len)) {
int64_t size;
CALL (size = guestfs_blockdev_getsize64 (g, parts[i]), -1);
printf ("<partition dev=\"%s\" size=\"%" PRIi64 "\">\n", parts[i], size);
diff --git a/fish/destpaths.c b/fish/destpaths.c
index 1e42ae8..9a3da82 100644
--- a/fish/destpaths.c
+++ b/fish/destpaths.c
@@ -133,7 +133,7 @@ complete_dest_paths_generator (const char *text, int state)
} while (0)
/* Is it a device? */
- if (len < 5 || strncmp (text, "/dev/", 5) == 0) {
+ if (len < 5 || STREQLEN (text, "/dev/", 5)) {
/* Get a list of everything that can possibly begin with /dev/ */
strs = guestfs_list_devices (g);
APPEND_STRS_AND_FREE;
diff --git a/fish/edit.c b/fish/edit.c
index d30b3ca..3fc41fb 100644
--- a/fish/edit.c
+++ b/fish/edit.c
@@ -149,7 +149,7 @@ do_edit (const char *cmd, int argc, char *argv[])
unlink (filename);
/* Changed? */
- if (strlen (content) == size && strncmp (content, content_new, size) == 0) {
+ if (strlen (content) == size && STREQLEN (content, content_new, size)) {
free (content);
free (content_new);
return 0;
diff --git a/fish/tilde.c b/fish/tilde.c
index 1c52d3e..64b5b39 100644
--- a/fish/tilde.c
+++ b/fish/tilde.c
@@ -110,7 +110,7 @@ find_home_for_username (const char *username, size_t ulen)
setpwent ();
while ((pw = getpwent ()) != NULL) {
if (strlen (pw->pw_name) == ulen &&
- strncmp (username, pw->pw_name, ulen) == 0)
+ STREQLEN (username, pw->pw_name, ulen))
return pw->pw_dir;
}
diff --git a/hivex/hivex.c b/hivex/hivex.c
index 8ea2c2b..4b0deeb 100644
--- a/hivex/hivex.c
+++ b/hivex/hivex.c
@@ -143,7 +143,7 @@ struct ntreg_hbin_block {
} __attribute__((__packed__));
#define BLOCK_ID_EQ(h,offs,eqid) \
- (strncmp (((struct ntreg_hbin_block *)((h)->addr + (offs)))->id, (eqid), 2) == 0)
+ (STREQLEN (((struct ntreg_hbin_block *)((h)->addr + (offs)))->id, (eqid), 2))
static size_t
block_len (hive_h *h, size_t blkoff, int *used)
diff --git a/test-tool/test-tool.c b/test-tool/test-tool.c
index c1a3de7..8a80f66 100644
--- a/test-tool/test-tool.c
+++ b/test-tool/test-tool.c
@@ -145,7 +145,7 @@ main (int argc, char *argv[])
/* Print out any environment variables which may relate to this test. */
for (i = 0; environ[i] != NULL; ++i)
- if (strncmp (environ[i], "LIBGUESTFS_", 11) == 0)
+ if (STREQLEN (environ[i], "LIBGUESTFS_", 11))
printf ("%s\n", environ[i]);
/* Create the handle and configure it. */
--
1.6.5.2.351.g0943
>From 9a8889e4d0c532b9f77af3a9cc7aae06adebfb83 Mon Sep 17 00:00:00 2001
From: Jim Meyering <meyering(a)redhat.com>
Date: Mon, 9 Nov 2009 14:30:11 +0100
Subject: [PATCH libguestfs 06/10] use STREQ, not strcmp: part 1
git grep -l 'strcmp *([^=]*== *0'|xargs \
perl -pi -e 's/\bstrcmp( *\(.*?\)) *== *0/STREQ$1/g'
---
capitests/test-command.c | 22 +++++++++++-----------
daemon/debug.c | 2 +-
daemon/dir.c | 2 +-
daemon/ext2.c | 6 +++---
daemon/file.c | 4 ++--
daemon/guestfsd.c | 2 +-
daemon/ls.c | 2 +-
daemon/mkfs.c | 8 ++++----
daemon/mount.c | 2 +-
daemon/xattr.c | 2 +-
examples/to-xml.c | 6 +++---
fish/destpaths.c | 2 +-
fish/fish.c | 8 ++++----
fuse/dircache.c | 8 ++++----
fuse/guestmount.c | 10 +++++-----
hivex/hivex.c | 2 +-
src/generator.ml | 6 +++---
src/guestfs.c | 18 +++++++++---------
test-tool/test-tool.c | 6 +++---
19 files changed, 59 insertions(+), 59 deletions(-)
diff --git a/capitests/test-command.c b/capitests/test-command.c
index d451ebe..c43353d 100644
--- a/capitests/test-command.c
+++ b/capitests/test-command.c
@@ -30,27 +30,27 @@ int
main (int argc, char *argv[])
{
if (argc > 1) {
- if (strcmp (argv[1], "1") == 0) {
+ if (STREQ (argv[1], "1")) {
printf ("Result1");
- } else if (strcmp (argv[1], "2") == 0) {
+ } else if (STREQ (argv[1], "2")) {
printf ("Result2\n");
- } else if (strcmp (argv[1], "3") == 0) {
+ } else if (STREQ (argv[1], "3")) {
printf ("\nResult3");
- } else if (strcmp (argv[1], "4") == 0) {
+ } else if (STREQ (argv[1], "4")) {
printf ("\nResult4\n");
- } else if (strcmp (argv[1], "5") == 0) {
+ } else if (STREQ (argv[1], "5")) {
printf ("\nResult5\n\n");
- } else if (strcmp (argv[1], "6") == 0) {
+ } else if (STREQ (argv[1], "6")) {
printf ("\n\nResult6\n\n");
- } else if (strcmp (argv[1], "7") == 0) {
+ } else if (STREQ (argv[1], "7")) {
/* nothing */
- } else if (strcmp (argv[1], "8") == 0) {
+ } else if (STREQ (argv[1], "8")) {
printf ("\n");
- } else if (strcmp (argv[1], "9") == 0) {
+ } else if (STREQ (argv[1], "9")) {
printf ("\n\n");
- } else if (strcmp (argv[1], "10") == 0) {
+ } else if (STREQ (argv[1], "10")) {
printf ("Result10-1\nResult10-2\n");
- } else if (strcmp (argv[1], "11") == 0) {
+ } else if (STREQ (argv[1], "11")) {
printf ("Result11-1\nResult11-2");
} else {
fprintf (stderr, "unknown parameter: %s\n", argv[1]);
diff --git a/daemon/debug.c b/daemon/debug.c
index 04c52f0..cb905cb 100644
--- a/daemon/debug.c
+++ b/daemon/debug.c
@@ -150,7 +150,7 @@ debug_fds (const char *subcmd, int argc, char *const *const argv)
}
while ((d = readdir (dir)) != NULL) {
- if (strcmp (d->d_name, ".") == 0 || strcmp (d->d_name, "..") == 0)
+ if (STREQ (d->d_name, ".") || STREQ (d->d_name, ".."))
continue;
snprintf (fname, sizeof fname, "/proc/self/fd/%s", d->d_name);
diff --git a/daemon/dir.c b/daemon/dir.c
index b603cfd..a5076b1 100644
--- a/daemon/dir.c
+++ b/daemon/dir.c
@@ -56,7 +56,7 @@ do_rm_rf (const char *path)
int r;
char *buf, *err;
- if (strcmp (path, "/") == 0) {
+ if (STREQ (path, "/")) {
reply_with_error ("rm -rf: cannot remove root directory");
return -1;
}
diff --git a/daemon/ext2.c b/daemon/ext2.c
index 14cbb3c..f768440 100644
--- a/daemon/ext2.c
+++ b/daemon/ext2.c
@@ -78,9 +78,9 @@ do_tune2fs_l (const char *device)
free (out);
return NULL;
}
- if (strcmp (colon, "<none>") == 0 ||
- strcmp (colon, "<not available>") == 0 ||
- strcmp (colon, "(none)") == 0) {
+ if (STREQ (colon, "<none>") ||
+ STREQ (colon, "<not available>") ||
+ STREQ (colon, "(none)")) {
if (add_string (&ret, &size, &alloc, "") == -1) {
free (out);
return NULL;
diff --git a/daemon/file.c b/daemon/file.c
index 62de116..252c02c 100644
--- a/daemon/file.c
+++ b/daemon/file.c
@@ -481,9 +481,9 @@ do_zfile (const char *method, const char *path)
FILE *fp;
char line[256];
- if (strcmp (method, "gzip") == 0 || strcmp (method, "compress") == 0)
+ if (STREQ (method, "gzip") || STREQ (method, "compress"))
zcat = "zcat";
- else if (strcmp (method, "bzip2") == 0)
+ else if (STREQ (method, "bzip2"))
zcat = "bzcat";
else {
reply_with_error ("zfile: unknown method");
diff --git a/daemon/guestfsd.c b/daemon/guestfsd.c
index 5789fed..db0bff9 100644
--- a/daemon/guestfsd.c
+++ b/daemon/guestfsd.c
@@ -831,7 +831,7 @@ split_lines (char *str)
int size = 0, alloc = 0;
char *p, *pend;
- if (strcmp (str, "") == 0)
+ if (STREQ (str, ""))
goto empty_list;
p = str;
diff --git a/daemon/ls.c b/daemon/ls.c
index 3e3183a..0af2356 100644
--- a/daemon/ls.c
+++ b/daemon/ls.c
@@ -47,7 +47,7 @@ do_ls (const char *path)
}
while ((d = readdir (dir)) != NULL) {
- if (strcmp (d->d_name, ".") == 0 || strcmp (d->d_name, "..") == 0)
+ if (STREQ (d->d_name, ".") || STREQ (d->d_name, ".."))
continue;
if (add_string (&r, &size, &alloc, d->d_name) == -1) {
diff --git a/daemon/mkfs.c b/daemon/mkfs.c
index 506066f..ba245b3 100644
--- a/daemon/mkfs.c
+++ b/daemon/mkfs.c
@@ -48,21 +48,21 @@ mkfs (const char *fstype, const char *device,
* to every block and does bad block detection, neither of which
* are useful behaviour for virtual devices.
*/
- if (strcmp (fstype, "ntfs") == 0)
+ if (STREQ (fstype, "ntfs"))
argv[i++] = "-Q";
/* mkfs.reiserfs produces annoying interactive prompts unless you
* tell it to be quiet.
*/
- if (strcmp (fstype, "reiserfs") == 0)
+ if (STREQ (fstype, "reiserfs"))
argv[i++] = "-f";
/* Same for JFS. */
- if (strcmp (fstype, "jfs") == 0)
+ if (STREQ (fstype, "jfs"))
argv[i++] = "-f";
/* For GFS, GFS2, assume a single node. */
- if (strcmp (fstype, "gfs") == 0 || strcmp (fstype, "gfs2") == 0) {
+ if (STREQ (fstype, "gfs") || STREQ (fstype, "gfs2")) {
argv[i++] = "-p";
argv[i++] = "lock_nolock";
/* The man page says this is default, but it doesn't seem to be: */
diff --git a/daemon/mount.c b/daemon/mount.c
index 5a27cea..49a0eab 100644
--- a/daemon/mount.c
+++ b/daemon/mount.c
@@ -50,7 +50,7 @@ do_mount_vfs (const char *options, const char *vfstype,
ABS_PATH (mountpoint, return -1);
- is_root = strcmp (mountpoint, "/") == 0;
+ is_root = STREQ (mountpoint, "/");
if (!root_mounted && !is_root) {
reply_with_error ("mount: you must mount something on / first");
diff --git a/daemon/xattr.c b/daemon/xattr.c
index d16939f..926baf0 100644
--- a/daemon/xattr.c
+++ b/daemon/xattr.c
@@ -410,7 +410,7 @@ do_lxattrlist (const char *path, char *const *names)
fprintf (stderr, " %zu: special attrval = %s\n",
k, entry[0].attrval.attrval_val);
for (i = 1; k+i < ret->guestfs_int_xattr_list_len; ++i) {
- if (strcmp (entry[i].attrname, "") == 0)
+ if (STREQ (entry[i].attrname, ""))
break;
fprintf (stderr, " name %s, value length %d\n",
entry[i].attrname, entry[i].attrval.attrval_len);
diff --git a/examples/to-xml.c b/examples/to-xml.c
index 4317619..ee1b3bf 100644
--- a/examples/to-xml.c
+++ b/examples/to-xml.c
@@ -120,7 +120,7 @@ display_partition (guestfs_h *g, const char *dev)
CALL (what = guestfs_file (g, dev), NULL);
- if (strcmp (what, "x86 boot sector") == 0)
+ if (STREQ (what, "x86 boot sector"))
/* This is what 'file' program shows for Windows/NTFS partitions. */
printf ("<windows/>\n");
else if (strstr (what, "boot sector") != NULL)
@@ -190,9 +190,9 @@ display_ext234 (guestfs_h *g, const char *dev, const char *fstype)
/* Just pick out a few important fields to display. There
* is much more that could be displayed here.
*/
- if (strcmp (sbfields[i], "Filesystem UUID") == 0)
+ if (STREQ (sbfields[i], "Filesystem UUID"))
printf ("<uuid>%s</uuid>\n", sbfields[i+1]);
- else if (strcmp (sbfields[i], "Block size") == 0)
+ else if (STREQ (sbfields[i], "Block size"))
printf ("<blocksize>%s</blocksize>\n", sbfields[i+1]);
free (sbfields[i]);
diff --git a/fish/destpaths.c b/fish/destpaths.c
index 9a3da82..02e9f22 100644
--- a/fish/destpaths.c
+++ b/fish/destpaths.c
@@ -168,7 +168,7 @@ complete_dest_paths_generator (const char *text, int state)
if (strcmp (dirents->val[i].name, ".") != 0 &&
strcmp (dirents->val[i].name, "..") != 0) {
- if (strcmp (dir, "/") == 0)
+ if (STREQ (dir, "/"))
err = asprintf (&p, "/%s", dirents->val[i].name);
else
err = asprintf (&p, "%s/%s", dir, dirents->val[i].name);
diff --git a/fish/fish.c b/fish/fish.c
index cac4e4a..869366b 100644
--- a/fish/fish.c
+++ b/fish/fish.c
@@ -215,9 +215,9 @@ main (int argc, char *argv[])
switch (c) {
case 0: /* options which are long only */
- if (strcmp (long_options[option_index].name, "listen") == 0)
+ if (STREQ (long_options[option_index].name, "listen"))
remote_control_listen = 1;
- else if (strcmp (long_options[option_index].name, "remote") == 0) {
+ else if (STREQ (long_options[option_index].name, "remote")) {
if (optarg) {
if (sscanf (optarg, "%d", &remote_control) != 1) {
fprintf (stderr, _("%s: --listen=PID: PID was not a number: %s\n"),
@@ -233,7 +233,7 @@ main (int argc, char *argv[])
exit (1);
}
}
- } else if (strcmp (long_options[option_index].name, "selinux") == 0) {
+ } else if (STREQ (long_options[option_index].name, "selinux")) {
guestfs_set_selinux (g, 1);
} else {
fprintf (stderr, _("%s: unknown long option: %s (%d)\n"),
@@ -755,7 +755,7 @@ cmdline (char *argv[], int optind, int argc)
if (optind >= argc) return;
cmd = argv[optind++];
- if (strcmp (cmd, ":") == 0) {
+ if (STREQ (cmd, ":")) {
fprintf (stderr, _("%s: empty command on command line\n"), program_name);
exit (1);
}
diff --git a/fuse/dircache.c b/fuse/dircache.c
index 545b9f3..1028926 100644
--- a/fuse/dircache.c
+++ b/fuse/dircache.c
@@ -100,7 +100,7 @@ gen_compare (void const *x, void const *y)
{
struct lsc_entry const *a = x;
struct lsc_entry const *b = y;
- return strcmp (a->pathname, b->pathname) == 0;
+ return STREQ (a->pathname, b->pathname);
}
static void
@@ -250,7 +250,7 @@ lsc_insert (const char *path, const char *name, time_t now,
free (entry);
return -1;
}
- if (strcmp (path, "/") == 0)
+ if (STREQ (path, "/"))
snprintf (entry->pathname, len, "/%s", name);
else
snprintf (entry->pathname, len, "%s/%s", path, name);
@@ -285,7 +285,7 @@ xac_insert (const char *path, const char *name, time_t now,
free (entry);
return -1;
}
- if (strcmp (path, "/") == 0)
+ if (STREQ (path, "/"))
snprintf (entry->pathname, len, "/%s", name);
else
snprintf (entry->pathname, len, "%s/%s", path, name);
@@ -320,7 +320,7 @@ rlc_insert (const char *path, const char *name, time_t now,
free (entry);
return -1;
}
- if (strcmp (path, "/") == 0)
+ if (STREQ (path, "/"))
snprintf (entry->pathname, len, "/%s", name);
else
snprintf (entry->pathname, len, "%s/%s", path, name);
diff --git a/fuse/guestmount.c b/fuse/guestmount.c
index 4547b3d..c7220c0 100644
--- a/fuse/guestmount.c
+++ b/fuse/guestmount.c
@@ -745,7 +745,7 @@ fg_getxattr (const char *path, const char *name, char *value,
size_t i;
int r = -ENOATTR;
for (i = 0; i < xattrs->len; ++i) {
- if (strcmp (xattrs->val[i].attrname, name) == 0) {
+ if (STREQ (xattrs->val[i].attrname, name)) {
size_t sz = xattrs->val[i].attrval_len;
if (sz > size)
sz = size;
@@ -993,13 +993,13 @@ main (int argc, char *argv[])
switch (c) {
case 0: /* options which are long only */
- if (strcmp (long_options[option_index].name, "dir-cache-timeout") == 0)
+ if (STREQ (long_options[option_index].name, "dir-cache-timeout"))
dir_cache_timeout = atoi (optarg);
- else if (strcmp (long_options[option_index].name, "fuse-help") == 0)
+ else if (STREQ (long_options[option_index].name, "fuse-help"))
fuse_help ();
- else if (strcmp (long_options[option_index].name, "selinux") == 0)
+ else if (STREQ (long_options[option_index].name, "selinux"))
guestfs_set_selinux (g, 1);
- else if (strcmp (long_options[option_index].name, "trace") == 0) {
+ else if (STREQ (long_options[option_index].name, "trace")) {
ADD_FUSE_ARG ("-f");
guestfs_set_trace (g, 1);
guestfs_set_recovery_proc (g, 1);
diff --git a/hivex/hivex.c b/hivex/hivex.c
index 4b0deeb..e47dd23 100644
--- a/hivex/hivex.c
+++ b/hivex/hivex.c
@@ -235,7 +235,7 @@ hivex_open (const char *filename, int flags)
h->msglvl = flags & HIVEX_OPEN_MSGLVL_MASK;
const char *debug = getenv ("HIVEX_DEBUG");
- if (debug && strcmp (debug, "1") == 0)
+ if (debug && STREQ (debug, "1"))
h->msglvl = 2;
if (h->msglvl >= 2)
diff --git a/src/generator.ml b/src/generator.ml
index aff6356..917fea9 100644
--- a/src/generator.ml
+++ b/src/generator.ml
@@ -5878,9 +5878,9 @@ static int %s_skip (void)
if (str)
return strstr (str, \"%s\") == NULL;
str = getenv (\"SKIP_%s\");
- if (str && strcmp (str, \"1\") == 0) return 1;
+ if (str && STREQ (str, \"1\")) return 1;
str = getenv (\"SKIP_TEST_%s\");
- if (str && strcmp (str, \"1\") == 0) return 1;
+ if (str && STREQ (str, \"1\")) return 1;
return 0;
}
@@ -9570,7 +9570,7 @@ print_strings (char *const *argv)
pr " sscanf (val, \"%%\" SCNi64, &r);\n";
pr " return r;\n"
| RBool _ ->
- pr " return strcmp (val, \"true\") == 0;\n"
+ pr " return STREQ (val, \"true\");\n"
| RConstString _
| RConstOptString _ ->
(* Can't return the input string here. Return a static
diff --git a/src/guestfs.c b/src/guestfs.c
index f7df27e..c8b52c5 100644
--- a/src/guestfs.c
+++ b/src/guestfs.c
@@ -173,10 +173,10 @@ guestfs_create (void)
g->recovery_proc = 1;
str = getenv ("LIBGUESTFS_DEBUG");
- g->verbose = str != NULL && strcmp (str, "1") == 0;
+ g->verbose = str != NULL && STREQ (str, "1");
str = getenv ("LIBGUESTFS_TRACE");
- g->trace = str != NULL && strcmp (str, "1") == 0;
+ g->trace = str != NULL && STREQ (str, "1");
str = getenv ("LIBGUESTFS_PATH");
g->path = str != NULL ? strdup (str) : strdup (GUESTFS_DEFAULT_PATH);
@@ -722,13 +722,13 @@ guestfs__config (guestfs_h *g,
/* A bit fascist, but the user will probably break the extra
* parameters that we add if they try to set any of these.
*/
- if (strcmp (qemu_param, "-kernel") == 0 ||
- strcmp (qemu_param, "-initrd") == 0 ||
- strcmp (qemu_param, "-nographic") == 0 ||
- strcmp (qemu_param, "-serial") == 0 ||
- strcmp (qemu_param, "-full-screen") == 0 ||
- strcmp (qemu_param, "-std-vga") == 0 ||
- strcmp (qemu_param, "-vnc") == 0) {
+ if (STREQ (qemu_param, "-kernel") ||
+ STREQ (qemu_param, "-initrd") ||
+ STREQ (qemu_param, "-nographic") ||
+ STREQ (qemu_param, "-serial") ||
+ STREQ (qemu_param, "-full-screen") ||
+ STREQ (qemu_param, "-std-vga") ||
+ STREQ (qemu_param, "-vnc")) {
error (g, _("guestfs_config: parameter '%s' isn't allowed"), qemu_param);
return -1;
}
diff --git a/test-tool/test-tool.c b/test-tool/test-tool.c
index 8a80f66..73f3af5 100644
--- a/test-tool/test-tool.c
+++ b/test-tool/test-tool.c
@@ -100,11 +100,11 @@ main (int argc, char *argv[])
switch (c) {
case 0: /* options which are long only */
- if (strcmp (long_options[option_index].name, "helper") == 0)
+ if (STREQ (long_options[option_index].name, "helper"))
helper = optarg;
- else if (strcmp (long_options[option_index].name, "qemu") == 0)
+ else if (STREQ (long_options[option_index].name, "qemu"))
set_qemu (optarg, 0);
- else if (strcmp (long_options[option_index].name, "qemudir") == 0)
+ else if (STREQ (long_options[option_index].name, "qemudir"))
set_qemu (optarg, 1);
else {
fprintf (stderr,
--
1.6.5.2.351.g0943
>From 539bf7e8983c53c4cf79ffa64302bef1585bec31 Mon Sep 17 00:00:00 2001
From: Jim Meyering <meyering(a)redhat.com>
Date: Mon, 9 Nov 2009 15:03:01 +0100
Subject: [PATCH libguestfs 07/10] use STREQ, not strcmp: part 2
git grep -l 'strcmp *([^=]*!= *0'|xargs \
perl -pi -e 's/\bstrcmp( *\(.*?\)) *!= *0\b/STRNEQ$1/g'
---
daemon/xattr.c | 2 +-
fish/destpaths.c | 4 ++--
fish/fish.c | 2 +-
fish/rc.c | 2 +-
src/generator.ml | 16 ++++++++--------
5 files changed, 13 insertions(+), 13 deletions(-)
diff --git a/daemon/xattr.c b/daemon/xattr.c
index 926baf0..c218dea 100644
--- a/daemon/xattr.c
+++ b/daemon/xattr.c
@@ -403,7 +403,7 @@ do_lxattrlist (const char *path, char *const *names)
fprintf (stderr, "lxattrlist: returning: [\n");
for (k = 0; k < ret->guestfs_int_xattr_list_len; ++k) {
const guestfs_int_xattr *entry = &ret->guestfs_int_xattr_list_val[k];
- if (strcmp (entry[0].attrname, "") != 0) {
+ if (STRNEQ (entry[0].attrname, "")) {
fprintf (stderr, "ERROR: expecting empty attrname at k = %zu\n", k);
break;
}
diff --git a/fish/destpaths.c b/fish/destpaths.c
index 02e9f22..87287aa 100644
--- a/fish/destpaths.c
+++ b/fish/destpaths.c
@@ -166,8 +166,8 @@ complete_dest_paths_generator (const char *text, int state)
for (i = 0; i < dirents->len; ++i) {
int err;
- if (strcmp (dirents->val[i].name, ".") != 0 &&
- strcmp (dirents->val[i].name, "..") != 0) {
+ if (STRNEQ (dirents->val[i].name, ".") &&
+ STRNEQ (dirents->val[i].name, "..")) {
if (STREQ (dir, "/"))
err = asprintf (&p, "/%s", dirents->val[i].name);
else
diff --git a/fish/fish.c b/fish/fish.c
index 869366b..cd10296 100644
--- a/fish/fish.c
+++ b/fish/fish.c
@@ -762,7 +762,7 @@ cmdline (char *argv[], int optind, int argc)
params = &argv[optind];
/* Search for end of command list or ":" ... */
- while (optind < argc && strcmp (argv[optind], ":") != 0)
+ while (optind < argc && STRNEQ (argv[optind], ":"))
optind++;
if (optind == argc) {
diff --git a/fish/rc.c b/fish/rc.c
index 182c4f4..a9eb578 100644
--- a/fish/rc.c
+++ b/fish/rc.c
@@ -250,7 +250,7 @@ rc_listen (void)
goto error;
}
- if (strcmp (hello.vers, PACKAGE_VERSION) != 0) {
+ if (STRNEQ (hello.vers, PACKAGE_VERSION)) {
fprintf (stderr, _("guestfish: protocol error: version mismatch, server version '%s' does not match client version '%s'. The two versions must match exactly.\n"),
PACKAGE_VERSION,
hello.vers);
diff --git a/src/generator.ml b/src/generator.ml
index 917fea9..3c1ff2b 100644
--- a/src/generator.ml
+++ b/src/generator.ml
@@ -6001,7 +6001,7 @@ and generate_one_test_body name i test_name init test =
pr " const char *expected = \"%s\";\n" (c_quote expected);
let seq, last = get_seq_last seq in
let test () =
- pr " if (strcmp (r, expected) != 0) {\n";
+ pr " if (STRNEQ (r, expected)) {\n";
pr " fprintf (stderr, \"%s: expected \\\"%%s\\\" but got \\\"%%s\\\"\\n\", expected, r);\n" test_name;
pr " return -1;\n";
pr " }\n"
@@ -6021,7 +6021,7 @@ and generate_one_test_body name i test_name init test =
pr " }\n";
pr " {\n";
pr " const char *expected = \"%s\";\n" (c_quote str);
- pr " if (strcmp (r[%d], expected) != 0) {\n" i;
+ pr " if (STRNEQ (r[%d], expected)) {\n" i;
pr " fprintf (stderr, \"%s: expected \\\"%%s\\\" but got \\\"%%s\\\"\\n\", expected, r[%d]);\n" test_name i;
pr " return -1;\n";
pr " }\n";
@@ -6050,7 +6050,7 @@ and generate_one_test_body name i test_name init test =
pr " {\n";
pr " const char *expected = \"%s\";\n" (c_quote str);
pr " r[%d][5] = 's';\n" i;
- pr " if (strcmp (r[%d], expected) != 0) {\n" i;
+ pr " if (STRNEQ (r[%d], expected)) {\n" i;
pr " fprintf (stderr, \"%s: expected \\\"%%s\\\" but got \\\"%%s\\\"\\n\", expected, r[%d]);\n" test_name i;
pr " return -1;\n";
pr " }\n";
@@ -6174,7 +6174,7 @@ and generate_one_test_body name i test_name init test =
pr " return -1;\n";
pr " }\n"
| CompareWithString (field, expected) ->
- pr " if (strcmp (r->%s, \"%s\") != 0) {\n" field expected;
+ pr " if (STRNEQ (r->%s, \"%s\")) {\n" field expected;
pr " fprintf (stderr, \"%s: %s was \"%%s\", expected \"%s\"\\n\",\n"
test_name field expected;
pr " r->%s);\n" field;
@@ -6188,7 +6188,7 @@ and generate_one_test_body name i test_name init test =
pr " return -1;\n";
pr " }\n"
| CompareFieldsStrEq (field1, field2) ->
- pr " if (strcmp (r->%s, r->%s) != 0) {\n" field1 field2;
+ pr " if (STRNEQ (r->%s, r->%s)) {\n" field1 field2;
pr " fprintf (stderr, \"%s: %s (\"%%s\") <> %s (\"%%s\")\\n\",\n"
test_name field1 field2;
pr " r->%s, r->%s);\n" field1 field2;
@@ -6587,13 +6587,13 @@ and generate_fish_cmds () =
pr " %s = resolve_win_path (argv[%d]);\n" name i;
pr " if (%s == NULL) return -1;\n" name
| OptString name ->
- pr " %s = strcmp (argv[%d], \"\") != 0 ? argv[%d] : NULL;\n"
+ pr " %s = STRNEQ (argv[%d], \"\") ? argv[%d] : NULL;\n"
name i i
| FileIn name ->
- pr " %s = strcmp (argv[%d], \"-\") != 0 ? argv[%d] : \"/dev/stdin\";\n"
+ pr " %s = STRNEQ (argv[%d], \"-\") ? argv[%d] : \"/dev/stdin\";\n"
name i i
| FileOut name ->
- pr " %s = strcmp (argv[%d], \"-\") != 0 ? argv[%d] : \"/dev/stdout\";\n"
+ pr " %s = STRNEQ (argv[%d], \"-\") ? argv[%d] : \"/dev/stdout\";\n"
name i i
| StringList name | DeviceList name ->
pr " %s = parse_string_list (argv[%d]);\n" name i;
--
1.6.5.2.351.g0943
>From 0c20bd8ea7092b93074ff08cae70e4cf6a06e7c5 Mon Sep 17 00:00:00 2001
From: Jim Meyering <meyering(a)redhat.com>
Date: Mon, 9 Nov 2009 22:33:36 +0100
Subject: [PATCH libguestfs 08/10] change strncasecmp() == 0 to STRCASENEQLEN()
git grep -l 'strncasecmp *([^=]*!= *0'|xargs \
perl -pi -e 's/\bstrncasecmp( *\(.*?\)) *!= *0\b/STRCASENEQLEN$1/g'
---
fish/fish.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/fish/fish.c b/fish/fish.c
index cd10296..0387eb7 100644
--- a/fish/fish.c
+++ b/fish/fish.c
@@ -1340,7 +1340,7 @@ resolve_win_path (const char *path)
char *ret;
size_t i;
- if (strncasecmp (path, "win:", 4) != 0) {
+ if (STRCASENEQLEN (path, "win:", 4)) {
ret = strdup (path);
if (ret == NULL)
perror ("strdup");
--
1.6.5.2.351.g0943
>From c9d94984588d166bcdc077a7972a1b454678ba10 Mon Sep 17 00:00:00 2001
From: Jim Meyering <meyering(a)redhat.com>
Date: Mon, 9 Nov 2009 22:33:54 +0100
Subject: [PATCH libguestfs 09/10] change strncasecmp() == 0 to STRCASEEQLEN()
git grep -l 'strncasecmp *([^=]*== *0'|xargs \
perl -pi -e 's/\bstrncasecmp( *\(.*?\)) *== *0\b/STRCASEEQLEN$1/g'
---
fish/destpaths.c | 2 +-
fish/fish.c | 2 +-
src/generator.ml | 2 +-
3 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/fish/destpaths.c b/fish/destpaths.c
index 87287aa..c12c64a 100644
--- a/fish/destpaths.c
+++ b/fish/destpaths.c
@@ -215,7 +215,7 @@ complete_dest_paths_generator (const char *text, int state)
word = &words[index];
index++;
- if (strncasecmp (word->name, text, len) == 0) {
+ if (STRCASEEQLEN (word->name, text, len)) {
if (word->is_dir)
rl_completion_append_character = '/';
diff --git a/fish/fish.c b/fish/fish.c
index 0387eb7..3f534de 100644
--- a/fish/fish.c
+++ b/fish/fish.c
@@ -1350,7 +1350,7 @@ resolve_win_path (const char *path)
path += 4;
/* Drop drive letter, if it's "C:". */
- if (strncasecmp (path, "c:", 2) == 0)
+ if (STRCASEEQLEN (path, "c:", 2))
path += 2;
if (!*path) {
diff --git a/src/generator.ml b/src/generator.ml
index 3c1ff2b..4fba15f 100644
--- a/src/generator.ml
+++ b/src/generator.ml
@@ -6772,7 +6772,7 @@ generator (const char *text, int state)
while ((name = commands[index]) != NULL) {
index++;
- if (strncasecmp (name, text, len) == 0)
+ if (STRCASEEQLEN (name, text, len))
return strdup (name);
}
--
1.6.5.2.351.g0943
>From 0e1e0f10df2c45cf0c43633ce0e59a4780308e63 Mon Sep 17 00:00:00 2001
From: Jim Meyering <meyering(a)redhat.com>
Date: Mon, 9 Nov 2009 15:05:23 +0100
Subject: [PATCH libguestfs 10/10] tests: enable strcmp-related syntax-check tests
* cfg.mk (local-checks-to-skip): Don't skip these checks:
sc_prohibit_strcmp_and_strncmp, sc_prohibit_strcmp.
---
cfg.mk | 2 --
1 files changed, 0 insertions(+), 2 deletions(-)
diff --git a/cfg.mk b/cfg.mk
index 134725a..0c19cc9 100644
--- a/cfg.mk
+++ b/cfg.mk
@@ -36,8 +36,6 @@ local-checks-to-skip = \
sc_prohibit_quote_without_use \
sc_prohibit_quotearg_without_use \
sc_prohibit_stat_st_blocks \
- sc_prohibit_strcmp_and_strncmp \
- sc_prohibit_strcmp \
sc_space_tab \
sc_two_space_separator_in_usage \
sc_error_message_uppercase \
--
1.6.5.2.351.g0943
15 years, 1 month