libpurple/util.c

changeset 33895
72fe8d31bad3
parent 33884
3fd1628aa718
child 33900
f4924591ef06
equal deleted inserted replaced
33894:7e3ea8475aad 33895:72fe8d31bad3
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

mercurial