String Format PRIu64

I am working on cRTMPServer, however the documentation is sparse and the Google Groups page is also inactive. Contacting the project creators has not succeeded either.

I've dug down into the code, and it's simply a case of getting the log file to register. Following a breakpoint and F11-ing all the way down into the code, the bug is here.

string temp = format("%s.%"PRIu64".%"PRIu64, STR(_fileName), (uint64_t) getpid(), (uint64_t) ts);
This is the line that throws the exception.

uint64_t x = (uint64_t) getpid();
uint64_t y = (uint64_t) ts;
string z = STR(_fileName);
Here, i have captured the values, to see what they are.

x = 4696
y = 1400765769698
z = 'main.log'
I am using Windows 7 and Visual Studio 2012.

Any obvious mistakes here? The code seems to work for other people, however i don't receive an build errors. Which makes me think that all included files are there.

PRIu64 is related in to inttypes.h, but as i have said, there is not build error for missing headers etc.

ERROR MESSAGE in memcpy.asm on the line...

rep movsd ;N - move all of our dwords
Unhandled exception at 0x6B30108E (msvcr110d.dll) in crtmpserver.exe: 0xC0000005: Access violation reading location 0x00001258.
Access violation reading location 0x00001258

this tells you that the compiler tried to dereference a pointer whose value was 0x00001258. Convert from hex to dec and you see that it is 4696, exactly the contents of your x

What do you get in const char* fmt = "%s.%"PRIu64".%"PRIu64; ?
Topic archived. No new replies allowed.