Compiler warning incorrect

The compiler thinks I have used %08x, but has ignored the length specification %08xl

/Users/flounder/Google Drive/Projects/UPMC Temperature Sensor/Sketches/registry_test/registry_test.ino:526:65: warning: format '%x' expects argument of type 'unsigned int', but argument 3 has type 'uint32_t {aka long unsigned int}' [-Wformat=]
                           sprintf(buf, "%08xl", (uint32_t)result);

Are you sure "x" and "l" can go together?

Btw, an int on most arduino is only 16-bit long.

If you had looked closely at the output, you would have seen the attached 'l'.

You are using a wrong specifier in

sprintf(buf, "%08xl", result);

you should use

sprintf(buf, "%08lx", result);

See vfprintf