Storing a 64 bit integer in a 32 bit integer and then checking for the error cases might not be ideal. error: comparison of constant -9223372036854775808 with expression of type 'guint' (aka 'unsigned int') is always true