Subversion Repositories wimsdev

Rev

Rev 8148 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 8148 Rev 8871
Line 19... Line 19...
19
#include "msg2wims.h"
19
#include "msg2wims.h"
20
 
20
 
21
int dollar_subst=1;
21
int dollar_subst=1;
22
 
22
 
23
/* variable substitution. buffer p must have MAX_LINELEN */
23
/* variable substitution. buffer p must have MAX_LINELEN */
24
void subst(char *p)
24
void substdoc(char *p)
25
{
25
{
26
    char *pp, *pe;
26
    char *pp, *pe;
27
 
27
 
28
    for(pp=p;pp-p<MAX_LINELEN && *pp; pp++) {
28
    for(pp=p;pp-p<MAX_LINELEN && *pp; pp++) {
29
      if(*pp==' ') *pp=' ';
29
      if(*pp==' ') *pp=' ';
Line 109... Line 109...
109
/* bad name and security risk */
109
/* bad name and security risk */
110
      if(!isspace(*pp)) return;
110
      if(!isspace(*pp)) return;
111
      ovlstrcpy(pp,pp+1); pp--;
111
      ovlstrcpy(pp,pp+1); pp--;
112
    }
112
    }
113
    p[1]=find_word_start(p[1]);
113
    p[1]=find_word_start(p[1]);
114
    snprintf(vbuf,sizeof(vbuf),"%s",p[1]); subst(vbuf);
114
    snprintf(vbuf,sizeof(vbuf),"%s",p[1]); substdoc(vbuf);
115
    fprintf(outf,"\n");
115
    fprintf(outf,"\n");
116
    if((pp=strparchr(vbuf,'?'))!=NULL && pp[1]!='?' && check_compare(vbuf)) {
116
    if((pp=strparchr(vbuf,'?'))!=NULL && pp[1]!='?' && check_compare(vbuf)) {
117
      char buf[MAX_LINELEN+1];
117
      char buf[MAX_LINELEN+1];
118
      p2=strparchr(pp,':'); *pp++=0; if(p2!=NULL) *p2++=0;
118
      p2=strparchr(pp,':'); *pp++=0; if(p2!=NULL) *p2++=0;
119
      snprintf(buf,sizeof(buf),"%s",vbuf);
119
      snprintf(buf,sizeof(buf),"%s",vbuf);