-remove trailing whitespace
[oweals/gnunet.git] / src / regex / regex_block_lib.c
index 69c6bbc1fe6f708627219dd51369a34e8be060db..8a1f0829061ce04aac64aca0a6aac88aef60c8c9 100644 (file)
@@ -98,7 +98,7 @@ GNUNET_NETWORK_STRUCT_END
  * @param block block to test
  * @param size number of bytes in block
  * @return GNUNET_YES if the block is accepting, GNUNET_NO if not
- */ 
+ */
 int
 GNUNET_BLOCK_is_accepting (const struct RegexBlock *block,
                           size_t size)
@@ -164,7 +164,7 @@ struct CheckEdgeContext
  * @param token Token that follows to next state.
  * @param len Lenght of token.
  * @param key Hash of next state.
- * 
+ *
  * @return GNUNET_YES, to keep iterating
  */
 static int
@@ -175,7 +175,7 @@ check_edge (void *cls,
 {
   struct CheckEdgeContext *ctx = cls;
 
-  GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, 
+  GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
              "edge %.*s [%u]: %s->%s\n",
               (int) len, token, len, GNUNET_h2s(key));
   if (NULL == ctx->xquery)
@@ -211,23 +211,30 @@ REGEX_BLOCK_check (const struct RegexBlock *block,
   struct CheckEdgeContext ctx;
   int res;
 
-  if (GNUNET_OK != 
+  LOG (GNUNET_ERROR_TYPE_DEBUG, "Block check\n");
+  if (GNUNET_OK !=
       REGEX_BLOCK_get_key (block, size,
                           &key))
   {
     GNUNET_break_op (0);
     return GNUNET_SYSERR;
   }
-  if (0 != memcmp (&key,
-                  query,
-                  sizeof (struct GNUNET_HashCode)))
+  if (NULL != query &&
+      0 != memcmp (&key,
+                   query,
+                   sizeof (struct GNUNET_HashCode)))
   {
     GNUNET_break_op (0);
     return GNUNET_SYSERR;
   }
   if ( (GNUNET_YES == ntohs (block->is_accepting)) &&
        ( (NULL == xquery) || ('\0' == xquery[0]) ) )
+  {
+    LOG (GNUNET_ERROR_TYPE_DEBUG,
+       "  out! Is accepting: %u, xquery %p\n",
+       ntohs(block->is_accepting), xquery);
     return GNUNET_OK;
+  }
   ctx.xquery = xquery;
   ctx.found = GNUNET_NO;
   res = REGEX_BLOCK_iterate (block, size, &check_edge, &ctx);
@@ -235,6 +242,7 @@ REGEX_BLOCK_check (const struct RegexBlock *block,
     return GNUNET_SYSERR;
   if (NULL == xquery)
     return GNUNET_YES;
+  LOG (GNUNET_ERROR_TYPE_DEBUG, "Result %d\n", ctx.found);
   return ctx.found;
 }
 
@@ -249,8 +257,8 @@ REGEX_BLOCK_check (const struct RegexBlock *block,
  */
 int
 REGEX_BLOCK_get_key (const struct RegexBlock *block,
-                    size_t block_len,
-                    struct GNUNET_HashCode *key)
+                     size_t block_len,
+                     struct GNUNET_HashCode *key)
 {
   uint16_t len;
   const struct GNUNET_HashCode *destinations;
@@ -259,17 +267,17 @@ REGEX_BLOCK_get_key (const struct RegexBlock *block,
   uint16_t num_edges;
   size_t total;
 
-  if (block_len < sizeof (struct RegexBlock)) 
+  if (block_len < sizeof (struct RegexBlock))
   {
     GNUNET_break_op (0);
     return GNUNET_SYSERR;
-  }  
+  }
   num_destinations = ntohs (block->num_destinations);
   num_edges = ntohs (block->num_edges);
   len = ntohs (block->proof_len);
   destinations = (const struct GNUNET_HashCode *) &block[1];
   edges = (const struct EdgeInfo *) &destinations[num_destinations];
-  total = sizeof (struct RegexBlock) + num_destinations * sizeof (struct GNUNET_HashCode) + num_edges + sizeof (struct EdgeInfo) + len;  
+  total = sizeof (struct RegexBlock) + num_destinations * sizeof (struct GNUNET_HashCode) + num_edges + sizeof (struct EdgeInfo) + len;
   if (block_len < total)
   {
     GNUNET_break_op (0);
@@ -312,7 +320,8 @@ REGEX_BLOCK_iterate (const struct RegexBlock *block,
   unsigned int n;
   size_t off;
 
-  if (size < sizeof (struct RegexBlock)) 
+  LOG (GNUNET_ERROR_TYPE_DEBUG, "Block iterate\n");
+  if (size < sizeof (struct RegexBlock))
   {
     GNUNET_break_op (0);
     return GNUNET_SYSERR;
@@ -324,14 +333,14 @@ REGEX_BLOCK_iterate (const struct RegexBlock *block,
   edges = (const struct EdgeInfo *) &destinations[num_destinations];
   aux = (const char *) &edges[num_edges];
   total = sizeof (struct RegexBlock) + num_destinations * sizeof (struct GNUNET_HashCode) + num_edges * sizeof (struct EdgeInfo) + len;
-  if (size < total) 
+  if (size < total)
   {
     GNUNET_break_op (0);
     return GNUNET_SYSERR;
   }
   for (n=0;n<num_edges;n++)
-    total += ntohs (edges[n].token_length);    
-  if (size != total) 
+    total += ntohs (edges[n].token_length);
+  if (size != total)
   {
     fprintf (stderr, "Expected %u, got %u\n",
             (unsigned int) size,
@@ -347,11 +356,12 @@ REGEX_BLOCK_iterate (const struct RegexBlock *block,
   for (n=0;n<num_edges;n++)
   {
     LOG (GNUNET_ERROR_TYPE_DEBUG,
-        "Edge %u, off %u tokenlen %u\n", n, off,
-        ntohs (edges[n].token_length));
+        " Edge %u/%u, off %u tokenlen %u (%.*s)\n", n+1, num_edges, off,
+        ntohs (edges[n].token_length), ntohs (edges[n].token_length),
+         &aux[off]);
     if (NULL != iterator)
-      if (GNUNET_NO == iterator (iter_cls, 
-                                &aux[off], 
+      if (GNUNET_NO == iterator (iter_cls,
+                                &aux[off],
                                 ntohs (edges[n].token_length),
                                 &destinations[ntohs (edges[n].destination_index)]))
        return GNUNET_OK;
@@ -393,7 +403,7 @@ REGEX_BLOCK_create (const char *proof,
   char *aux;
 
   len = strlen (proof);
-  if (len > UINT16_MAX) 
+  if (len > UINT16_MAX)
   {
     GNUNET_break (0);
     return NULL;
@@ -403,7 +413,7 @@ REGEX_BLOCK_create (const char *proof,
   for (i=0;i<num_edges;i++)
   {
     slen = strlen (edges[i].label);
-    if (len > UINT16_MAX) 
+    if (slen > UINT16_MAX)
     {
       GNUNET_break (0);
       return NULL;
@@ -439,7 +449,7 @@ REGEX_BLOCK_create (const char *proof,
   edgeinfos = (struct EdgeInfo *) &dests[unique_destinations];
   aux = (char *) &edgeinfos[num_edges];
   off = len;
-  memcpy (aux, proof, len); 
+  memcpy (aux, proof, len);
   for (i=0;i<num_edges;i++)
   {
     slen = strlen (edges[i].label);