Skip to content
Permalink
Browse files

Use fixed-width format specifiers in serializeStructToString

  • Loading branch information
ShadowNinja committed Mar 13, 2014
1 parent e4d1970 commit 875f1327a47f78d783c3abc7f7acc3977dc286ec
Showing with 4 additions and 3 deletions.
  1. +4 −3 src/util/serialize.cpp
@@ -24,6 +24,7 @@ with this program; if not, write to the Free Software Foundation, Inc.,
#include "../exceptions.h"
#include "../irrlichttypes.h"

#include <inttypes.h> // For PRIxN, cinttypes is C++11-only
#include <sstream>
#include <iomanip>
#include <vector>
@@ -416,19 +417,19 @@ bool serializeStructToString(std::string *outstr,
if (width == 16) {
bufpos += PADDING(bufpos, u16);
nprinted = snprintf(sbuf + pos, sbuflen,
is_unsigned ? "%u, " : "%d, ",
is_unsigned ? "%" PRIu16 ", " : "%" PRIi16 ", ",
*((u16 *)bufpos));
bufpos += sizeof(u16);
} else if (width == 32) {
bufpos += PADDING(bufpos, u32);
nprinted = snprintf(sbuf + pos, sbuflen,
is_unsigned ? "%u, " : "%d, ",
is_unsigned ? "%" PRIu32 ", " : "%" PRIi32 ", ",
*((u32 *)bufpos));
bufpos += sizeof(u32);
} else if (width == 64) {
bufpos += PADDING(bufpos, u64);
nprinted = snprintf(sbuf + pos, sbuflen,
is_unsigned ? "%llu, " : "%lli, ",
is_unsigned ? "%" PRIu64 ", " : "%" PRIi64 ", ",
*((u64 *)bufpos));
bufpos += sizeof(u64);
}

2 comments on commit 875f132

@cheapie

This comment has been minimized.

Copy link
Contributor

@cheapie cheapie replied Mar 14, 2014

/home/cheapie/source/mt/minetest/src/util/serialize.cpp: In function ‘bool serializeStructToString(std::string*, std::string, void*)’:
/home/cheapie/source/mt/minetest/src/util/serialize.cpp:420:27: error: expected ‘:’ before ‘PRIu16’
         is_unsigned ? "%" PRIu16 ", " : "%" PRIi16 ", ",
                           ^
/home/cheapie/source/mt/minetest/src/util/serialize.cpp:420:27: error: ‘PRIu16’ was not declared in this scope
/home/cheapie/source/mt/minetest/src/util/serialize.cpp:426:27: error: expected ‘:’ before ‘PRIu32’
         is_unsigned ? "%" PRIu32 ", " : "%" PRIi32 ", ",
                           ^
/home/cheapie/source/mt/minetest/src/util/serialize.cpp:426:27: error: ‘PRIu32’ was not declared in this scope
/home/cheapie/source/mt/minetest/src/util/serialize.cpp:432:27: error: expected ‘:’ before ‘PRIu64’
         is_unsigned ? "%" PRIu64 ", " : "%" PRIi64 ", ",
                           ^
/home/cheapie/source/mt/minetest/src/util/serialize.cpp:432:27: error: ‘PRIu64’ was not declared in this scope
@ShadowNinja

This comment has been minimized.

Copy link
Member Author

@ShadowNinja ShadowNinja replied Mar 14, 2014

I've reverted this commit. It should work now.

Please sign in to comment.