The open source OpenXR runtime
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

a/util: Fix clang tidy warnings in logging code

authored by

Ryan Pavlik and committed by
Jakob Bornecrantz
b95a5029 ef43294d

+30 -12
+30 -12
src/xrt/auxiliary/util/u_logging.c
··· 15 15 #include "util/u_truncate_printf.h" 16 16 17 17 #include <assert.h> 18 + #include <stddef.h> 18 19 #include <stdio.h> 19 20 #include <stdarg.h> 20 21 ··· 31 32 */ 32 33 #define LOG_BUFFER_SIZE (3 * 1024) 33 34 35 + /* 36 + * 16MB max binary data 37 + */ 38 + #define LOG_MAX_HEX_DUMP (0x00ffffff) 39 + 40 + #define LOG_MAX_HEX_DUMP_HUMAN_READABLE "16MB" 41 + 42 + /* 43 + * Hex dumps put 16 bytes per line 44 + */ 45 + #define LOG_HEX_BYTES_PER_LINE (16) 46 + 47 + /* 48 + * This is enough space for the line's bytes to be in both hex and ascii 49 + */ 50 + #define LOG_HEX_LINE_BUF_SIZE (128) 34 51 35 52 /* 36 53 * ··· 84 101 { 85 102 char *pos = buf; 86 103 87 - if (data_size > 16) { 88 - data_size = 16; 104 + if (data_size > LOG_HEX_BYTES_PER_LINE) { 105 + data_size = LOG_HEX_BYTES_PER_LINE; 89 106 } 90 107 91 108 pos += sprintf(pos, "%08x: ", (uint32_t)offset); 92 109 93 - char *ascii = pos + (16 * 3) + 1; 110 + char *ascii = pos + ((ptrdiff_t)LOG_HEX_BYTES_PER_LINE * 3) + 1; 94 111 size_t i; 95 112 96 113 for (i = 0; i < data_size; i++) { ··· 104 121 } 105 122 106 123 /* Pad short lines with spaces, and null terminate */ 107 - while (i++ < 16) { 124 + while (i++ < LOG_HEX_BYTES_PER_LINE) { 108 125 pos += sprintf(pos, " "); 109 126 } 110 127 /* Replace the first NULL terminator with a space */ ··· 124 141 size_t offset = 0; 125 142 126 143 while (offset < data_size) { 127 - char tmp[128]; 144 + char tmp[LOG_HEX_LINE_BUF_SIZE]; 128 145 u_log_hexdump_line(tmp, offset, data + offset, data_size - offset); 129 146 u_log(file, line, func, level, "%s", tmp); 130 147 131 - offset += 16; 148 + offset += LOG_HEX_BYTES_PER_LINE; 132 149 /* 133 150 * Limit the dump length to 16MB, this used to be 4GB which 134 151 * would on 32bit system always evaltuate to false. So we have 135 152 * the limit on something more sensible. 136 153 */ 137 - if (offset > 0x00ffffff) { 138 - u_log(file, line, func, level, "Truncating output over 16MB"); 154 + if (offset > LOG_MAX_HEX_DUMP) { 155 + u_log(file, line, func, level, "Truncating output over " LOG_MAX_HEX_DUMP_HUMAN_READABLE); 139 156 break; 140 157 } 141 158 } ··· 153 170 size_t offset = 0; 154 171 155 172 while (offset < data_size) { 156 - char tmp[128]; 173 + char tmp[LOG_HEX_LINE_BUF_SIZE]; 157 174 u_log_hexdump_line(tmp, offset, data + offset, data_size - offset); 158 175 u_log_xdev(file, line, func, level, xdev, "%s", tmp); 159 176 160 - offset += 16; 177 + offset += LOG_HEX_BYTES_PER_LINE; 161 178 /* 162 179 * Limit the dump length to 16MB, this used to be 4GB which 163 180 * would on 32bit system always evaltuate to false. So we have 164 181 * the limit on something more sensible. 165 182 */ 166 - if (offset > 0x00ffffff) { 167 - u_log_xdev(file, line, func, level, xdev, "Truncating output over 16MB"); 183 + if (offset > LOG_MAX_HEX_DUMP) { 184 + u_log_xdev(file, line, func, level, xdev, 185 + "Truncating output over " LOG_MAX_HEX_DUMP_HUMAN_READABLE); 168 186 break; 169 187 } 170 188 }