Use the correct conversion specifier for size_t.

Reported by Jim Meyering.
* src/Sbitset.h (SBITSET__INDEX__CONVERSION_SPEC): New, "zu"
because Sbitset__Index is size_t.
* src/Sbitset.c (Sbitset__fprint): Use it instead of %d.
This commit is contained in:
Joel E. Denny
2009-09-29 06:54:38 -04:00
parent d8f68fc295
commit 47eced3099
3 changed files with 13 additions and 2 deletions

View File

@@ -1,3 +1,11 @@
2009-09-29 Joel E. Denny <jdenny@clemson.edu>
Use the correct conversion specifier for size_t.
Reported by Jim Meyering.
* src/Sbitset.h (SBITSET__INDEX__CONVERSION_SPEC): New, "zu"
because Sbitset__Index is size_t.
* src/Sbitset.c (Sbitset__fprint): Use it instead of %d.
2009-09-27 Joel E. Denny <jdenny@clemson.edu>
tests: don't abuse AT_BISON_CHECK.

View File

@@ -65,14 +65,16 @@ Sbitset__fprint(Sbitset self, Sbitset__Index nbits, FILE *file)
Sbitset__Index i;
Sbitset itr;
bool first = true;
fprintf (file, "nbits = %d, set = {", nbits);
fprintf (file,
"nbits = %" SBITSET__INDEX__CONVERSION_SPEC ", set = {",
nbits);
SBITSET__FOR_EACH (self, nbits, itr, i)
{
if (first)
first = false;
else
fprintf (file, ",");
fprintf (file, " %d", i);
fprintf (file, " %" SBITSET__INDEX__CONVERSION_SPEC, i);
}
fprintf (file, " }");
}

View File

@@ -22,6 +22,7 @@
typedef char *Sbitset;
typedef size_t Sbitset__Index;
#define SBITSET__INDEX__CONVERSION_SPEC "zu"
#define Sbitset__nbytes(NBITS) (((NBITS)+7)/8)
#define Sbitset__byteAddress(SELF, INDEX) (((SELF) + (INDEX)/8))