Index: ossp-pkg/lmtp2nntp/lmtp2nntp_config.c RCS File: /v/ossp/cvs/ossp-pkg/lmtp2nntp/lmtp2nntp_config.c,v rcsdiff -q -kk '-r1.61' '-r1.62' -u '/v/ossp/cvs/ossp-pkg/lmtp2nntp/lmtp2nntp_config.c,v' 2>/dev/null --- lmtp2nntp_config.c 2002/02/28 14:07:43 1.61 +++ lmtp2nntp_config.c 2002/02/28 15:21:02 1.62 @@ -1589,15 +1589,22 @@ var_rc_t var_rc; char *res_ptr; log1(ctx, DEBUG, "expanding regex references in headername '%s'", hrI->header); - //if ((var_rc = var_expand(hrI->header, strlen(hrI->header), &res_ptr, NULL, regex_lookup, regex_ctx, ®ex_lookup_cfg, FALSE)) != VAR_OK) { if ((var_rc = var_expand(ctx->config_varregex, hrI->header, strlen(hrI->header), &res_ptr, NULL, FALSE)) != VAR_OK) { log3(ctx, ERROR, "expansion of '%s' failed: %s", hrI->header, var_strerror(ctx->config_varctx, rc, &cp) == VAR_OK ? cp : "Unknown Error", rc); } log1(ctx, DEBUG, "expansion result '%s'", res_ptr); - hdNew->name = res_ptr; //FIXME rename ->header to ->name + if (strlen(res_ptr) == 0) { + log0(ctx, DEBUG, "marking deleted - emtpy headername"); + hdNew->name = NULL; //FIXME rename ->header to ->name + /*FIXME clean up data.s and data.m */ + hdNew->ndata = 0; + } + else { + hdNew->name = res_ptr; //FIXME rename ->header to ->name + } } if (hrI->val == NULL) { - log0(ctx, DEBUG, "marking deleted"); + log0(ctx, DEBUG, "marking deleted - empty headervalue before expansion"); /*FIXME clean up data.s and data.m */ hdNew->ndata = 0; } @@ -1607,7 +1614,6 @@ var_rc_t var_rc; char *res_ptr; log1(ctx, DEBUG, "expanding regex references in header value '%s'", hrI->val); - //if ((var_rc = var_expand(hrI->val, strlen(hrI->val), &res_ptr, NULL, regex_lookup, regex_ctx, ®ex_lookup_cfg, FALSE)) != VAR_OK) { if ((var_rc = var_expand(ctx->config_varregex, hrI->val, strlen(hrI->val), &res_ptr, NULL, FALSE)) != VAR_OK) { log3(ctx, ERROR, "expansion of '%s' failed: %s", hrI->val, var_strerror(ctx->config_varctx, rc, &cp) == VAR_OK ? cp : "Unknown Error", rc); } @@ -1619,13 +1625,19 @@ var_rc_t var_rc; char *res_ptr; log1(ctx, DEBUG, "expanding variables in header value '%s'", hrI->val); - //if ((var_rc = var_expand(cp, strlen(cp), &res_ptr, NULL, ctx_lookup, ctx, &ctx_lookup_cfg, FALSE)) != VAR_OK) { if ((var_rc = var_expand(ctx->config_varctx, cp, strlen(cp), &res_ptr, NULL, FALSE)) != VAR_OK) { log3(ctx, ERROR, "expansion of '%s' failed: %s", cp, var_strerror(ctx->config_varctx, rc, &cp) == VAR_OK ? cp : "Unknown Error", rc); } log1(ctx, DEBUG, "expansion result '%s'", res_ptr); - hdNew->data.s = res_ptr; - hdNew->ndata = 1; + if (strlen(res_ptr) == 0) { + log0(ctx, DEBUG, "marking deleted - empty headervalue after expansion"); + /*FIXME clean up data.s and data.m */ + hdNew->ndata = 0; + } + else { + hdNew->data.s = res_ptr; + hdNew->ndata = 1; + } } } /*FIXME clean up data.m */ @@ -1651,13 +1663,19 @@ var_rc_t var_rc; char *res_ptr; log1(ctx, DEBUG, "expanding variables in header value '%s'", hrI->val); - //if ((var_rc = var_expand(cp, strlen(cp), &res_ptr, NULL, ctx_lookup, ctx, &ctx_lookup_cfg, FALSE)) != VAR_OK) { if ((var_rc = var_expand(ctx->config_varctx, hrI->val, strlen(hrI->val), &res_ptr, NULL, FALSE)) != VAR_OK) { log3(ctx, ERROR, "expansion of '%s' failed: %s", hrI->val, var_strerror(ctx->config_varctx, rc, &cp) == VAR_OK ? cp : "Unknown Error", rc); } log1(ctx, DEBUG, "expansion result '%s'", res_ptr); - hdNew->data.s = res_ptr; - hdNew->ndata = 1; + if (strlen(res_ptr) == 0) { + log0(ctx, DEBUG, "marking deleted - empty headervalue after expansion"); + /*FIXME clean up data.s and data.m */ + hdNew->ndata = 0; + } + else { + hdNew->data.s = res_ptr; + hdNew->ndata = 1; + } } for (hdI = ctx->msg->hdFirst; hdI != NULL; hdI = hdI->next) { /* for each header */ if (hdI->name == NULL || strlen(hdI->name) == 0)