]> granicus.if.org Git - onig/commitdiff
removee onig_get_tiny_min_len()
authorK.Kosako <kosako@sofnec.co.jp>
Wed, 2 Aug 2017 06:12:53 +0000 (15:12 +0900)
committerK.Kosako <kosako@sofnec.co.jp>
Wed, 2 Aug 2017 06:12:53 +0000 (15:12 +0900)
src/regcomp.c

index 3a033908d9a2d5c94b0c59a2b5baa81511bda4e8..45dc3b86e2ff3b0086376172d985eb16ac17a88c 100644 (file)
@@ -2948,111 +2948,6 @@ tree_min_len(Node* node, ScanEnv* env)
   return len;
 }
 
-extern OnigLen
-onig_get_tiny_min_len(Node* node, unsigned int inhibit_types, int* invalid_node)
-{
-  OnigLen len;
-  OnigLen tmin;
-
-  if ((NODE_TYPE2BIT(NODE_TYPE(node)) & inhibit_types) != 0)
-    *invalid_node = 1;
-
-  len = 0;
-  switch (NODE_TYPE(node)) {
-#ifdef USE_CALL
-  case NODE_CALL:
-    /* fall */
-#endif
-  case NODE_BACKREF:
-    break;
-
-  case NODE_LIST:
-    do {
-      tmin = onig_get_tiny_min_len(NODE_CAR(node), inhibit_types, invalid_node);
-      len = distance_add(len, tmin);
-    } while (IS_NOT_NULL(node = NODE_CDR(node)));
-    break;
-
-  case NODE_ALT:
-    {
-      Node *x, *y;
-      y = node;
-      do {
-        x = NODE_CAR(y);
-        tmin = onig_get_tiny_min_len(x, inhibit_types, invalid_node);
-        if (y == node) len = tmin;
-        else if (len > tmin) len = tmin;
-      } while (IS_NOT_NULL(y = NODE_CDR(y)));
-    }
-    break;
-
-  case NODE_STRING:
-    {
-      StrNode* sn = STR_(node);
-      len = sn->end - sn->s;
-    }
-    break;
-
-  case NODE_CTYPE:
-  case NODE_CCLASS:
-    len = 1;
-    break;
-
-  case NODE_QUANT:
-    {
-      QuantNode* qn = QUANT_(node);
-
-      if (qn->lower > 0) {
-        len = onig_get_tiny_min_len(NODE_BODY(node), inhibit_types, invalid_node);
-        len = distance_multiply(len, qn->lower);
-      }
-    }
-    break;
-
-  case NODE_ENCLOSURE:
-    {
-      EnclosureNode* en = ENCLOSURE_(node);
-      switch (en->type) {
-      case ENCLOSURE_MEMORY:
-      case ENCLOSURE_OPTION:
-      case ENCLOSURE_STOP_BACKTRACK:
-        len = onig_get_tiny_min_len(NODE_BODY(node), inhibit_types, invalid_node);
-        break;
-
-      case ENCLOSURE_IF_ELSE:
-        {
-          int elen;
-          len = onig_get_tiny_min_len(NODE_BODY(node), inhibit_types, invalid_node);
-          if (IS_NOT_NULL(en->te.Then))
-            len = distance_add(len,
-                               onig_get_tiny_min_len(en->te.Then, inhibit_types, invalid_node));
-          if (IS_NOT_NULL(en->te.Else))
-            elen = onig_get_tiny_min_len(en->te.Else, inhibit_types, invalid_node);
-          else elen = 0;
-
-          if (elen < len) len = elen;
-        }
-        break;
-      }
-    }
-    break;
-
-  case NODE_GIMMICK:
-    {
-      GimmickNode* g = GIMMICK_(node);
-      if (g->type == GIMMICK_FAIL)
-        return INFINITE_LEN;
-    }
-    /* fall */
-
-  case NODE_ANCHOR:
-  default:
-    break;
-  }
-
-  return len;
-}
-
 static OnigLen
 tree_max_len(Node* node, ScanEnv* env)
 {