| 164 g_return_val_if_fail(len > 0, NULL); |
164 g_return_val_if_fail(len > 0, NULL); |
| 165 |
165 |
| 166 ascii = g_malloc(len * 2 + 1); |
166 ascii = g_malloc(len * 2 + 1); |
| 167 |
167 |
| 168 for (i = 0; i < len; i++) |
168 for (i = 0; i < len; i++) |
| 169 g_snprintf(&ascii[i * 2], 3, "%02hhx", data[i]); |
169 g_snprintf(&ascii[i * 2], 3, "%02hx", data[i] & 0xFF); |
| 170 |
170 |
| 171 return ascii; |
171 return ascii; |
| 172 } |
172 } |
| 173 |
173 |
| 174 guchar * |
174 guchar * |
| 232 * The final colon will be replaced by a terminating NULL |
232 * The final colon will be replaced by a terminating NULL |
| 233 */ |
233 */ |
| 234 ascii = g_malloc(len * 3 + 1); |
234 ascii = g_malloc(len * 3 + 1); |
| 235 |
235 |
| 236 for (i = 0; i < len; i++) |
236 for (i = 0; i < len; i++) |
| 237 g_snprintf(&ascii[i * 3], 4, "%02hhx:", data[i]); |
237 g_snprintf(&ascii[i * 3], 4, "%02hx:", data[i] & 0xFF); |
| 238 |
238 |
| 239 /* Replace the final colon with NULL */ |
239 /* Replace the final colon with NULL */ |
| 240 ascii[len * 3 - 1] = 0; |
240 ascii[len * 3 - 1] = 0; |
| 241 |
241 |
| 242 return ascii; |
242 return ascii; |
| 3751 |
3751 |
| 3752 ret = g_string_sized_new(len); |
3752 ret = g_string_sized_new(len); |
| 3753 |
3753 |
| 3754 for (i = 0; i < len; i++) |
3754 for (i = 0; i < len; i++) |
| 3755 if (binary[i] < 32 || binary[i] > 126) |
3755 if (binary[i] < 32 || binary[i] > 126) |
| 3756 g_string_append_printf(ret, "\\x%02hhx", binary[i]); |
3756 g_string_append_printf(ret, "\\x%02hx", binary[i] & 0xFF); |
| 3757 else if (binary[i] == '\\') |
3757 else if (binary[i] == '\\') |
| 3758 g_string_append(ret, "\\\\"); |
3758 g_string_append(ret, "\\\\"); |
| 3759 else |
3759 else |
| 3760 g_string_append_c(ret, binary[i]); |
3760 g_string_append_c(ret, binary[i]); |
| 3761 |
3761 |