I get the following error for an old line (r1037504, but now trying maintainer-mode):

.../server/util_expr_eval.c: In function 'ap_expr_eval_re_backref':
.../server/util_expr_eval.c:265:63: error: comparison between pointer and zero character constant [-Werror=pointer-compare]
     if (!ctx->re_pmatch || !ctx->re_source || *ctx->re_source == '\0' ||
                                                               ^~
.../server/util_expr_eval.c:265:47: note: did you mean to dereference the pointer?
     if (!ctx->re_pmatch || !ctx->re_source || *ctx->re_source == '\0' ||
                                               ^

and indeed re_source is defined as

const char **re_source;

So does the following patch look good (one more level of dereferencing)?

Index: server/util_expr_eval.c
===================================================================
--- server/util_expr_eval.c     (revision 1812263)
+++ server/util_expr_eval.c     (working copy)
@@ -262,7 +262,7 @@
 {
     int len;

-    if (!ctx->re_pmatch || !ctx->re_source || *ctx->re_source == '\0' ||
+    if (!ctx->re_pmatch || !ctx->re_source || **ctx->re_source == '\0' ||
         ctx->re_nmatch < n + 1)
         return "";


The 2.4 branch looks the same as trunk.

Regards,

Rainer

Reply via email to