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 |
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]); |
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); |