RE: RE: Please check ia64 patch for core files to beaffected

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

RE: RE: Please check ia64 patch for core files to beaffected

Cihula, Joseph
The 64/32 bit -compatible way of formatting size_t types is to use
'%zd'.

Joe

On Thursday, October 13, 2005 2:59 PM,  Magenheimer, Dan (HP Labs Fort
Collins) <> wrote:

> Here's another couple changes to core files needed
> for ia64.  Here, dsize is a size_t so gcc doesn't
> allow it to be printf'd by a %i on ia64 where size_t
> is 64-bits (and int is 32 bits).  Unless there
> are objections (or a better fix suggested), these
> will also be included in the next ia64 pull.
>
> Dan
>
> ===========
>
> # User [hidden email]
> # Node ID 276744d6f43efc3a2f885d5ade6b9a56733df81c
> # Parent  74d56b7ff46cb07fbf7dbb72cad4e14e9d22324f
> Modify to be able to compile on ia64.
> Width arguments of printf ("%*") should be an int.
>
> diff -r 74d56b7ff46c -r 276744d6f43e tools/xenstore/xs_tdb_dump.c
> --- a/tools/xenstore/xs_tdb_dump.c Tue Oct 11 22:57:44 2005
> +++ b/tools/xenstore/xs_tdb_dump.c Wed Oct 12 12:51:31 2005
> @@ -53,17 +53,17 @@
>   hdr = (void *)data.dptr;
>   if (data.dsize < sizeof(*hdr))
>   fprintf(stderr, "%.*s: BAD truncated\n",
> - key.dsize, key.dptr);
> + (int)key.dsize, key.dptr);
>   else if (data.dsize != total_size(hdr))
>   fprintf(stderr, "%.*s: BAD length %i for
> %i/%i/%i (%i)\n",
> - key.dsize, key.dptr, data.dsize,
> + (int)key.dsize, key.dptr,
> (int)data.dsize,
>   hdr->num_perms, hdr->datalen,
>   hdr->childlen, total_size(hdr));
>   else {
>   unsigned int i;
>   char *p;
>
> - printf("%.*s: ", key.dsize, key.dptr);
> + printf("%.*s: ", (int)key.dsize, key.dptr);
>   for (i = 0; i < hdr->num_perms; i++)
>   printf("%s%c%i",
>         i == 0 ? "" : ",",
> diff -r 74d56b7ff46c -r 276744d6f43e tools/xenstore/xsls.c
> --- a/tools/xenstore/xsls.c Tue Oct 11 22:57:44 2005
> +++ b/tools/xenstore/xsls.c Wed Oct 12 12:51:31 2005
> @@ -25,7 +25,7 @@
>          if (val == NULL)
>              printf(":\n");
>          else if ((unsigned)len > (151 - strlen(e[i])))
> -            printf(" = \"%.*s...\"\n", 148 - strlen(e[i]), val);
> +            printf(" = \"%.*s...\"\n", 148 - (int)strlen(e[i]), val);
>          else
>              printf(" = \"%s\"\n", val);
>          free(val);
>
> _______________________________________________
> Xen-devel mailing list
> [hidden email]
> http://lists.xensource.com/xen-devel

_______________________________________________
Xen-devel mailing list
[hidden email]
http://lists.xensource.com/xen-devel