export lswl_hexdump 16/2916/1
authorAndy Green <andy.green@linaro.org>
Wed, 16 Jan 2013 06:35:27 +0000 (14:35 +0800)
committerKevron Rees <kevron_m_rees@linux.intel.com>
Thu, 7 Mar 2013 21:01:25 +0000 (13:01 -0800)
Signed-off-by: Andy Green <andy.green@linaro.org>
lib/output.c
lib/private-libwebsockets.h

index 994d87d..8e72b7d 100644 (file)
@@ -65,41 +65,50 @@ libwebsocket_0405_frame_mask_generate(struct libwebsocket *wsi)
        return 0;
 }
 
+#ifdef _DEBUG
 
-void lws_stderr_hexdump(unsigned char *buf, size_t len)
+void lwsl_hexdump(void *vbuf, size_t len)
 {
        int n;
        int m;
        int start;
+       unsigned char *buf = (unsigned char *)vbuf;
+       char line[80];
+       char *p;
 
        lwsl_parser("\n");
 
        for (n = 0; n < len;) {
                start = n;
+               p = line;
 
-               lwsl_debug("%04X: ", start);
+               p += sprintf(p, "%04X: ", start);
 
                for (m = 0; m < 16 && n < len; m++)
-                       lwsl_debug("%02X ", buf[n++]);
+                       p += sprintf(p, "%02X ", buf[n++]);
                while (m++ < 16)
-                       lwsl_debug("   ");
+                       p += sprintf(p, "   ");
 
-               lwsl_debug("   ");
+               p += sprintf(p, "   ");
 
                for (m = 0; m < 16 && (start + m) < len; m++) {
                        if (buf[start + m] >= ' ' && buf[start + m] <= 127)
-                               lwsl_debug("%c", buf[start + m]);
+                               *p++ = buf[start + m];
                        else
-                               lwsl_debug(".");
+                               *p++ = '.';
                }
                while (m++ < 16)
-                       lwsl_debug(" ");
+                       *p++ = ' ';
 
-               lwsl_debug("\n");
+               *p++ = '\n';
+               *p = '\0';
+               lwsl_debug(line);
        }
        lwsl_debug("\n");
 }
 
+#endif
+
 int lws_issue_raw(struct libwebsocket *wsi, unsigned char *buf, size_t len)
 {
        int n;
index 3d16a32..a43a207 100644 (file)
@@ -103,6 +103,7 @@ extern void _lws_log(int filter, const char *format, ...);
 #define lwsl_header(...)  _lws_log(LLL_HEADER, __VA_ARGS__)
 #define lwsl_ext(...)  _lws_log(LLL_HEADER, __VA_ARGS__)
 #define lwsl_client(...) _lws_log(LLL_CLIENT, __VA_ARGS__)
+extern void lwsl_hexdump(void *buf, size_t len);
 #else /* no debug */
 #define lwsl_info(...)
 #define lwsl_debug(...)
@@ -110,6 +111,7 @@ extern void _lws_log(int filter, const char *format, ...);
 #define lwsl_header(...)
 #define lwsl_ext(...)
 #define lwsl_client(...)
+#define lwsl_hexdump(a, b)
 #endif
 
 /*