This unifies the way printing is done. Everything goes to stderr by
default. Using genering tracing functions also removes the custom
trace_level handling.
Signed-off-by: Timo Kokkonen <timo.t.kokkonen@iki.fi>
- if (trace_level >= 3)
- print_hex(msg->data + 1, datalen(msg->data) - 1);
- if (trace_level >= 2)
- print_ascii(msg->data + 1, datalen(msg->data) - 1);
+ print_hex(3, msg->data + 1, datalen(msg->data) - 1);
+ print_ascii(2, msg->data + 1, datalen(msg->data) - 1);
ret = hiddev_write(msg->data, fd, usage_code);
if (ret)
ret = hiddev_write(msg->data, fd, usage_code);
if (ret)
memcpy(msg->data, buf, sizeof(buf));
memset(&msg->data[sizeof(buf)], 0, sizeof(msg->data)-sizeof(buf));
memcpy(msg->data, buf, sizeof(buf));
memset(&msg->data[sizeof(buf)], 0, sizeof(msg->data)-sizeof(buf));
trace(2, "Got data %d: ", datalen(buf));
trace(2, "Got data %d: ", datalen(buf));
- if (trace_level >= 3)
- print_hex(buf, datalen(buf));
- if (trace_level >= 2)
- print_ascii(buf, datalen(buf));
+ print_hex(3, buf, datalen(buf));
+ print_ascii(2, buf, datalen(buf));
- printf("HIDIOCSREPORT\n");
+ trace(0, "HIDIOCSREPORT\n");
- printf("Error in IOCTL: %m\n");
+ trace(0, "Error in IOCTL: %m\n");
rc = ioctl(fd, HIDIOCGUCODE, &uref);
if (rc < 0) {
rc = ioctl(fd, HIDIOCGUCODE, &uref);
if (rc < 0) {
- printf("Error gettin usage code: %m\n");
+ trace(0, "Error gettin usage code: %m\n");
-void print_hex(const unsigned char *data, int len)
+void print_hex(int level, const unsigned char *data, int len)
{
int i;
for (i = 0; i < len; i++)
{
int i;
for (i = 0; i < len; i++)
- printf("0x%02x ", data[i]);
+ trace(level, "0x%02x ", data[i]);
-void print_ascii(const unsigned char *data, int len)
+void print_ascii(int level, const unsigned char *data, int len)
{
int i;
for (i = 0; i < len; i++)
{
int i;
for (i = 0; i < len; i++)
- printf("%c", is_printable(data[i]) ? data[i] : '.');
+ trace(level, "%c", is_printable(data[i]) ? data[i] : '.');
}
void sanitize_ascii(unsigned char *data, int len)
}
void sanitize_ascii(unsigned char *data, int len)
} while (0)
int datalen(const unsigned char *data);
} while (0)
int datalen(const unsigned char *data);
-void print_hex(const unsigned char *data, int len);
-void print_ascii(const unsigned char *data, int len);
+void print_hex(int level, const unsigned char *data, int len);
+void print_ascii(int level, const unsigned char *data, int len);
void sanitize_ascii(unsigned char *data, int len);
#endif
void sanitize_ascii(unsigned char *data, int len);
#endif