You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@httpd.apache.org by Sander Temme <sa...@temme.net> on 2005/04/24 17:34:40 UTC

Re: [REPATCH] Make PCRE build with -DDEBUG

On Apr 24, 2005, at 10:59 PM, Sander Temme wrote:

> The following mini-patch:

Found another couple of occurrences of get_ucpname(). That'll teach me 
to work on two things at once and break my tree in both places. The 
following makes not only compile, but actually link and start httpd 
with pcre linked in statically:

Index: srclib/pcre/printint.c
===================================================================
--- srclib/pcre/printint.c      (revision 164423)
+++ srclib/pcre/printint.c      (working copy)
@@ -107,6 +107,7 @@



+#ifdef SUPPORT_UCP
  /*************************************************
  *          Find Unicode property name            *
  *************************************************/
@@ -121,6 +122,7 @@
    }
  return (i >= 0)? utt[i].name : "??";
  }
+#endif /* SUPPORT_UCP */



@@ -255,11 +257,13 @@
      if (*code >= OP_TYPESTAR)
        {
        fprintf(f, "%s", OP_names[code[1]]);
+#ifdef SUPPORT_UCP
        if (code[1] == OP_PROP || code[1] == OP_NOTPROP)
          {
          fprintf(f, " %s ", get_ucpname(code[2]));
          extra = 1;
          }
+#endif
        }
      else extra = print_char(f, code+1, utf8);
      fprintf(f, "%s", OP_names[*code]);
@@ -280,11 +284,13 @@
      case OP_TYPEUPTO:
      case OP_TYPEMINUPTO:
      fprintf(f, "    %s", OP_names[code[3]]);
+#ifdef SUPPORT_UCP
      if (code[3] == OP_PROP || code[3] == OP_NOTPROP)
        {
        fprintf(f, " %s ", get_ucpname(code[4]));
        extra = 1;
        }
+#endif
      fprintf(f, "{");
      if (*code != OP_TYPEEXACT) fprintf(f, "0,");
      fprintf(f, "%d}", GET2(code,1));
@@ -331,10 +337,12 @@
        GET(code, 2 + LINK_SIZE));
      break;

+#ifdef SUPPORT_UCP
      case OP_PROP:
      case OP_NOTPROP:
      fprintf(f, "    %s %s", OP_names[*code], get_ucpname(code[1]));
      break;
+#endif

      /* OP_XCLASS can only occur in UTF-8 mode. However, there's no 
harm in
      having this code always here, and it makes it less messy without 
all those
@@ -394,6 +402,7 @@
          int ch;
          while ((ch = *ccode++) != XCL_END)
            {
+#ifdef SUPPORT_UCP
            if (ch == XCL_PROP)
              {
              fprintf(f, "\\p{%s}", get_ucpname(*ccode++));
@@ -403,6 +412,7 @@
              fprintf(f, "\\P{%s}", get_ucpname(*ccode++));
              }
            else
+#endif
              {
              ccode += 1 + print_char(f, ccode, TRUE);
              if (ch == XCL_RANGE)

Apologies for the noise.

S.

-- 
sander@temme.net              http://www.temme.net/sander/
PGP FP: 51B4 8727 466A 0BC3 69F4  B7B8 B2BE BC40 1529 24AF