diff --git a/.x-sc_avoid_write b/.x-sc_avoid_write index 72a196d138..fe38d837a1 100644 --- a/.x-sc_avoid_write +++ b/.x-sc_avoid_write @@ -1,2 +1,3 @@ ^src/util\.c$ ^src/xend_internal\.c$ +^src/util-lib\.c$ diff --git a/ChangeLog b/ChangeLog index d780ff8eba..be6b623a38 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,13 @@ +Mon Feb 25 10:59:43 CET 2008 Jim Meyering + + Avoid new "make syntax-check" failures. + * .x-sc_avoid_write: Exempt src/util-lib.c, too. + * Makefile.maint (sc_unmarked_diagnostics): Filter out false positives. + * src/storage_backend_fs.c (virStorageBackendFileSystemVolCreate): + Use safewrite, not write. + * src/storage_backend_logical.c (virStorageBackendLogicalBuildPool): + Likewise. + Fri Feb 22 13:32:11 CET 2008 Jim Meyering avoid format string warnings diff --git a/Makefile.maint b/Makefile.maint index fe964a5713..92cdf2973b 100644 --- a/Makefile.maint +++ b/Makefile.maint @@ -304,6 +304,9 @@ err_func_re = \ # Look for diagnostics that aren't marked for translation. # This won't find any for which error's format string is on a separate line. +# The sed filters eliminate false-positives like these: +# _("...: " +# "%s", _("no storage vol w..." sc_unmarked_diagnostics: @grep -nE \ '\<(vshError|error) \([^"]*"[^"]*[a-z]{3}' $$($(CVS_LIST_EXCEPT)) \ @@ -312,7 +315,8 @@ sc_unmarked_diagnostics: exit 1; } || : @{ grep -nE '\<$(err_func_re) *\(.*;$$' $$($(CVS_LIST_EXCEPT)); \ grep -A1 -nE '\<$(err_func_re) *\(.*,$$' $$($(CVS_LIST_EXCEPT)); } \ - | grep '[ ]"' && \ + | sed 's/_("[^"][^"]*"//;s/[ ]"%s"//' \ + | grep '[ ]"' && \ { echo '$(ME): found unmarked diagnostic(s)' 1>&2; \ exit 1; } || : diff --git a/src/storage_backend_fs.c b/src/storage_backend_fs.c index 9425cbc2f3..1d540e149c 100644 --- a/src/storage_backend_fs.c +++ b/src/storage_backend_fs.c @@ -854,7 +854,7 @@ virStorageBackendFileSystemVolCreate(virConnectPtr conn, int bytes = sizeof(zeros); if (bytes > remain) bytes = remain; - if ((bytes = write(fd, zeros, bytes)) < 0) { + if ((bytes = safewrite(fd, zeros, bytes)) < 0) { virStorageReportError(conn, VIR_ERR_INTERNAL_ERROR, _("cannot fill file '%s': %s"), vol->target.path, strerror(errno)); diff --git a/src/storage_backend_logical.c b/src/storage_backend_logical.c index a70c0879f4..f8a075dead 100644 --- a/src/storage_backend_logical.c +++ b/src/storage_backend_logical.c @@ -287,7 +287,7 @@ virStorageBackendLogicalBuildPool(virConnectPtr conn, strerror(errno)); goto cleanup; } - if (write(fd, zeros, sizeof(zeros)) != sizeof(zeros)) { + if (safewrite(fd, zeros, sizeof(zeros)) < 0) { virStorageReportError(conn, VIR_ERR_INTERNAL_ERROR, _("cannot clear device header %s"), strerror(errno));