Lines Matching refs:cp

47 #define	DONE()	{flag |= HIST_ERROR; cp = 0; stakseek(0); goto done;}
67 char *cp,del;
81 cp = (char*) s + 1;
85 if(*cp == del || *cp == '\n' || *cp == '\0')
100 if(*cp != del)
103 else if(*cp == '\\')
105 if(*(cp+1) == del) /* quote delimiter */
108 cp++;
110 else if(*(cp+1) == '&' && n == 1)
113 cp++;
118 else if(*cp == '&' && n == 1 && sb->str[0])
122 stakputc(*cp);
123 cp++;
129 return cp;
147 *cp, /* current char in ln */
150 *cc=0, /* copy of current line up to cp; temp ptr */
167 if((np = nv_open("histchars",sh.var_tree,0)) && (cp = nv_getval(np)))
169 if(cp[0])
171 hc[0] = cp[0];
172 if(cp[1])
174 hc[1] = cp[1];
175 if(cp[2])
176 hc[2] = cp[2];
185 cp = (char*)ln;
187 while(cp && *cp)
190 if((*cp != hc[0] && *cp != hc[1] && *cp != hc[2])
191 || (*cp == hc[1] && cp != ln))
193 if(*cp == '\\') /* skip escaped designators */
194 stakputc(*cp++);
195 else if(*cp == '\'') /* skip quoted designators */
198 stakputc(*cp);
199 while(*++cp && *cp != '\'');
201 stakputc(*cp++);
205 if(hc[2] && *cp == hc[2]) /* history comment designator, skip rest of line */
207 stakputc(*cp++);
208 stakputs(cp);
215 evp = cp;
218 if(*cp == hc[1]) /* shortcut substitution */
224 if(*cp == hc[0] && *(cp+1) == hc[0]) /* refer to line -1 */
226 cp += 2;
230 switch(c = *++cp) {
241 cp++;
250 if(!isdigit(*(cp+1)))
252 cp++;
264 while(isdigit(*cp))
265 n = n * 10 + (*cp++) - '0';
274 cp++;
279 str = cp;
280 while(*cp)
282 cp++;
284 (*cp == ':' || isspace(*cp)
285 || *cp == '^' || *cp == '$'
286 || *cp == '*' || *cp == '-'
287 || *cp == '%')
289 || ((flag&HIST_QUESTION) && (*cp == '?' || *cp == '\n')))
291 c = *cp;
292 *cp = '\0';
322 c = *cp;
323 *cp = '\0';
325 *cp = c;
332 *cp++ = c; /* skip second question mark */
334 *cp = c;
338 if(*(evp = cp) == ':')
339 cp++;
350 switch(c = *cp++) {
381 cp--;
410 while(isdigit(c=*cp++))
419 cp--;
426 c = *cp;
427 *cp = '\0';
429 *cp = c;
435 cp = evp;
486 c = *cp;
487 *cp = '\0';
489 *cp = c;
521 evp = cp;
524 while(*cp == ':' || (flag & HIST_QUICKSUBST))
530 cp--;
533 c = *++cp;
541 c = *++cp;
557 if((c == '/' && *cp == 'h') || (c == '.' && *cp == 'r'))
573 if((c == '/' && *cp == 't') || (c == '.' && *cp == 'e'))
584 cp++;
591 cp = parse_subst(cp, &sb);
596 c = *cp;
597 *cp = '\0';
602 *cp = c;
624 c = *cp;
625 *cp = '\0';
630 *cp = c;
639 if(*cp)
640 cp--;
651 if(*cp)
652 cp++;