]> The Tcpdump Group git mirrors - tcpdump/blobdiff - print-resp.c
Add printing support for vsockmon devices.
[tcpdump] / print-resp.c
index bec3858efa13f52a75e22aab307125677c605f43..beeec1ce184f13e1e1c5b742bd02f4532421f17d 100644 (file)
 /* \summary: REdis Serialization Protocol (RESP) printer */
 
 #ifdef HAVE_CONFIG_H
-#include "config.h"
+#include <config.h>
 #endif
 
-#include <netdissect-stdinc.h>
+#include "netdissect-stdinc.h"
 #include "netdissect.h"
 #include <limits.h>
 #include <string.h>
@@ -42,7 +42,6 @@
 
 #include "extract.h"
 
-static const char tstr[] = " [|RESP]";
 
 /*
  * For information regarding RESP, see: http://redis.io/topics/protocol
@@ -136,7 +135,7 @@ static int resp_get_length(netdissect_options *, const u_char *, int, const u_ch
             /*                                   \
              * Have we hit the end of data?      \
              */                                  \
-            if (_len == 0 || !ND_TTEST(*_ptr)) { \
+            if (_len == 0 || !ND_TTEST_1(_ptr)) {\
                 /*                               \
                  * Yes.  Have we seen a \r       \
                  * or \n?                        \
@@ -205,7 +204,7 @@ static int resp_get_length(netdissect_options *, const u_char *, int, const u_ch
  */
 #define RESP_PRINT_SEGMENT(_ndo, _bp, _len)            \
     ND_PRINT(" \"");                                   \
-    if (fn_printn(_ndo, _bp, _len, _ndo->ndo_snapend)) \
+    if (nd_printn(_ndo, _bp, _len, _ndo->ndo_snapend)) \
         goto trunc;                                    \
     fn_print_char(_ndo, '"');
 
@@ -214,6 +213,7 @@ resp_print(netdissect_options *ndo, const u_char *bp, u_int length)
 {
     int ret_len = 0, length_cur = length;
 
+    ndo->ndo_protocol = "resp";
     if(!bp || length <= 0)
         return;
 
@@ -237,7 +237,7 @@ resp_print(netdissect_options *ndo, const u_char *bp, u_int length)
     return;
 
 trunc:
-    ND_PRINT("%s", tstr);
+    nd_print_trunc(ndo);
 }
 
 static int
@@ -248,7 +248,7 @@ resp_parse(netdissect_options *ndo, const u_char *bp, int length)
 
     LCHECK2(length, 1);
     ND_TCHECK_1(bp);
-    op = EXTRACT_U_1(bp);
+    op = GET_U_1(bp);
 
     /* bp now points to the op, so these routines must skip it */
     switch(op) {
@@ -434,7 +434,7 @@ resp_print_inline(netdissect_options *ndo, const u_char *bp, int length) {
 
     /*
      * Found it; bp_ptr points to the \r or \n, so bp_ptr - bp is the
-     * Length of the line text that preceeds it.  Print it.
+     * Length of the line text that precedes it.  Print it.
      */
     len = (bp_ptr - bp);
     RESP_PRINT_SEGMENT(ndo, bp, len);
@@ -467,7 +467,7 @@ resp_get_length(netdissect_options *ndo, const u_char *bp, int len, const u_char
     ND_TCHECK_1(bp);
     too_large = 0;
     neg = 0;
-    if (EXTRACT_U_1(bp) == '-') {
+    if (GET_U_1(bp) == '-') {
         neg = 1;
         bp++;
         len--;
@@ -479,7 +479,7 @@ resp_get_length(netdissect_options *ndo, const u_char *bp, int len, const u_char
         if (len == 0)
             goto trunc;
         ND_TCHECK_1(bp);
-        c = EXTRACT_U_1(bp);
+        c = GET_U_1(bp);
         if (!(c >= '0' && c <= '9')) {
             if (!saw_digit) {
                 bp++;
@@ -508,7 +508,7 @@ resp_get_length(netdissect_options *ndo, const u_char *bp, int len, const u_char
      * OK, we found a non-digit character.  It should be a \r, followed
      * by a \n.
      */
-    if (EXTRACT_U_1(bp) != '\r') {
+    if (GET_U_1(bp) != '\r') {
         bp++;
         goto invalid;
     }
@@ -517,7 +517,7 @@ resp_get_length(netdissect_options *ndo, const u_char *bp, int len, const u_char
     if (len == 0)
         goto trunc;
     ND_TCHECK_1(bp);
-    if (EXTRACT_U_1(bp) != '\n') {
+    if (GET_U_1(bp) != '\n') {
         bp++;
         goto invalid;
     }