Samuel Thibault
2008-Aug-26 16:17 UTC
[Xen-devel] [PATCH] mini-os: make xenbus_read_integer and xenbus_printf take const strings
mini-os: make xenbus_read_integer and xenbus_printf take const strings Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com> diff -r c2472ded5c7c extras/mini-os/include/xenbus.h --- a/extras/mini-os/include/xenbus.h Tue Aug 26 15:16:57 2008 +0100 +++ b/extras/mini-os/include/xenbus.h Tue Aug 26 17:06:09 2008 +0100 @@ -83,12 +83,12 @@ char *xenbus_transaction_end(xenbus_tran int *retry); /* Read path and parse it as an integer. Returns -1 on error. */ -int xenbus_read_integer(char *path); +int xenbus_read_integer(const char *path); /* Contraction of snprintf and xenbus_write(path/node). */ char* xenbus_printf(xenbus_transaction_t xbt, - char* node, char* path, - char* fmt, ...); + const char* node, const char* path, + const char* fmt, ...); /* Reset the XenBus system. */ void fini_xenbus(void); diff -r c2472ded5c7c extras/mini-os/xenbus/xenbus.c --- a/extras/mini-os/xenbus/xenbus.c Tue Aug 26 15:16:57 2008 +0100 +++ b/extras/mini-os/xenbus/xenbus.c Tue Aug 26 17:06:09 2008 +0100 @@ -633,7 +633,7 @@ xenbus_transaction_end(xenbus_transactio return NULL; } -int xenbus_read_integer(char *path) +int xenbus_read_integer(const char *path) { char *res, *buf; int t; @@ -650,8 +650,8 @@ int xenbus_read_integer(char *path) } char* xenbus_printf(xenbus_transaction_t xbt, - char* node, char* path, - char* fmt, ...) + const char* node, const char* path, + const char* fmt, ...) { #define BUFFER_SIZE 256 char fullpath[BUFFER_SIZE]; _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
Daniel P. Berrange
2008-Aug-26 16:34 UTC
Re: [Xen-devel] [PATCH] mini-os: make xenbus_read_integer and xenbus_printf take const strings
On Tue, Aug 26, 2008 at 05:17:02PM +0100, Samuel Thibault wrote:> mini-os: make xenbus_read_integer and xenbus_printf take const strings > > Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com> > > diff -r c2472ded5c7c extras/mini-os/include/xenbus.h > --- a/extras/mini-os/include/xenbus.h Tue Aug 26 15:16:57 2008 +0100 > +++ b/extras/mini-os/include/xenbus.h Tue Aug 26 17:06:09 2008 +0100 > @@ -83,12 +83,12 @@ char *xenbus_transaction_end(xenbus_tran > int *retry); > > /* Read path and parse it as an integer. Returns -1 on error. */ > -int xenbus_read_integer(char *path); > +int xenbus_read_integer(const char *path); > > /* Contraction of snprintf and xenbus_write(path/node). */ > char* xenbus_printf(xenbus_transaction_t xbt, > - char* node, char* path, > - char* fmt, ...); > + const char* node, const char* path, > + const char* fmt, ...);If you annotate that declaration with __attribute__ ((__format__ (printf, 4, 3))) then gcc will warn you any time a caller gives incorrect args vs format string, which can catch some otherwise hidden bugs. Regards, Daniel -- |: Red Hat, Engineering, London -o- http://people.redhat.com/berrange/ :| |: http://libvirt.org -o- http://virt-manager.org -o- http://ovirt.org :| |: http://autobuild.org -o- http://search.cpan.org/~danberr/ :| |: GnuPG: 7D3B9505 -o- F3C9 553F A1DA 4AC2 5648 23C1 B3DF F742 7D3B 9505 :| _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
Samuel Thibault
2008-Aug-26 16:42 UTC
Re: [Xen-devel] [PATCH] mini-os: make xenbus_read_integer and xenbus_printf take const strings
Daniel P. Berrange, le Tue 26 Aug 2008 17:34:37 +0100, a écrit :> If you annotate that declaration with > > __attribute__ ((__format__ (printf, 4, 3))) > > then gcc will warn you any time a caller gives incorrect args vs > format string, which can catch some otherwise hidden bugs.Indeed, actually all mini-os''s *print* functions should have it, IIRC there are a lot of fixes needed to have this compile with -Werror :) Samuel _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel