Branch data Line data Source code
1 : : #include <ccan/str/str.h> 2 : : #include <stdlib.h> 3 : : #include <stdio.h> 4 : : #include <ccan/tap/tap.h> 5 : : #include <stdint.h> 6 : : 7 : 3 : int main(void) 8 : : { 9 : : char str[1000]; 10 : : struct { 11 : : uint8_t u1byte; 12 : : int8_t s1byte; 13 : : uint16_t u2byte; 14 : : int16_t s2byte; 15 : : uint32_t u4byte; 16 : : int32_t s4byte; 17 : : uint64_t u8byte; 18 : : int64_t s8byte; 19 : : void *ptr; 20 : : } types; 21 : : 22 : : plan_tests(13); 23 : : 24 : 3 : memset(&types, 0xFF, sizeof(types)); 25 : : 26 : : /* Hex versions */ 27 : 3 : sprintf(str, "0x%llx", (unsigned long long)types.u1byte); 28 : 3 : ok1(strlen(str) < STR_MAX_CHARS(types.u1byte)); 29 : 3 : sprintf(str, "0x%llx", (unsigned long long)types.u2byte); 30 : 3 : ok1(strlen(str) < STR_MAX_CHARS(types.u2byte)); 31 : 3 : sprintf(str, "0x%llx", (unsigned long long)types.u4byte); 32 : 3 : ok1(strlen(str) < STR_MAX_CHARS(types.u4byte)); 33 : 3 : sprintf(str, "0x%llx", (unsigned long long)types.u8byte); 34 : 3 : ok1(strlen(str) < STR_MAX_CHARS(types.u8byte)); 35 : : 36 : : /* Decimal versions */ 37 : 3 : sprintf(str, "%u", types.u1byte); 38 : 3 : ok1(strlen(str) < STR_MAX_CHARS(types.u1byte)); 39 : 3 : sprintf(str, "%d", types.s1byte); 40 : 3 : ok1(strlen(str) < STR_MAX_CHARS(types.s1byte)); 41 : 3 : sprintf(str, "%u", types.u2byte); 42 : 3 : ok1(strlen(str) < STR_MAX_CHARS(types.u2byte)); 43 : 3 : sprintf(str, "%d", types.s2byte); 44 : 3 : ok1(strlen(str) < STR_MAX_CHARS(types.s2byte)); 45 : 3 : sprintf(str, "%u", types.u4byte); 46 : 3 : ok1(strlen(str) < STR_MAX_CHARS(types.u4byte)); 47 : 3 : sprintf(str, "%d", types.s4byte); 48 : 3 : ok1(strlen(str) < STR_MAX_CHARS(types.s4byte)); 49 : 3 : sprintf(str, "%llu", (unsigned long long)types.u8byte); 50 : 3 : ok1(strlen(str) < STR_MAX_CHARS(types.u8byte)); 51 : 3 : sprintf(str, "%lld", (long long)types.s8byte); 52 : 3 : ok1(strlen(str) < STR_MAX_CHARS(types.s8byte)); 53 : : 54 : : /* Pointer version. */ 55 : 3 : sprintf(str, "%p", types.ptr); 56 : 3 : ok1(strlen(str) < STR_MAX_CHARS(types.ptr)); 57 : : 58 : 3 : return exit_status(); 59 : : }