All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] mini-os: make xenbus_read_integer and xenbus_printf take const strings
@ 2008-08-26 16:17 Samuel Thibault
  2008-08-26 16:34 ` Daniel P. Berrange
  0 siblings, 1 reply; 3+ messages in thread
From: Samuel Thibault @ 2008-08-26 16:17 UTC (permalink / raw)
  To: xen-devel

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];

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH] mini-os: make xenbus_read_integer and xenbus_printf take const strings
  2008-08-26 16:17 [PATCH] mini-os: make xenbus_read_integer and xenbus_printf take const strings Samuel Thibault
@ 2008-08-26 16:34 ` Daniel P. Berrange
  2008-08-26 16:42   ` Samuel Thibault
  0 siblings, 1 reply; 3+ messages in thread
From: Daniel P. Berrange @ 2008-08-26 16:34 UTC (permalink / raw)
  To: Samuel Thibault, xen-devel

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 :|

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH] mini-os: make xenbus_read_integer and xenbus_printf take const strings
  2008-08-26 16:34 ` Daniel P. Berrange
@ 2008-08-26 16:42   ` Samuel Thibault
  0 siblings, 0 replies; 3+ messages in thread
From: Samuel Thibault @ 2008-08-26 16:42 UTC (permalink / raw)
  To: Daniel P. Berrange; +Cc: xen-devel

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

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2008-08-26 16:42 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-08-26 16:17 [PATCH] mini-os: make xenbus_read_integer and xenbus_printf take const strings Samuel Thibault
2008-08-26 16:34 ` Daniel P. Berrange
2008-08-26 16:42   ` Samuel Thibault

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.