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 */
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++;
265 while(isdigit(*cp))
266 n = n * 10 + (*cp++) - '0';
275 cp++;
281 str = cp;
282 while(*cp)
284 cp++;
286 (*cp == ':' || isspace(*cp)
287 || *cp == '^' || *cp == '$'
288 || *cp == '*' || *cp == '-'
289 || *cp == '%')
291 || ((flag&HIST_QUESTION) && (*cp == '?' || *cp == '\n')))
293 c = *cp;
294 *cp = '\0';
324 c = *cp;
325 *cp = '\0';
327 *cp = c;
334 *cp++ = c; /* skip second question mark */
336 *cp = c;
340 if(*(evp = cp) == ':')
341 cp++;
352 switch(c = *cp++) {
384 cp--;
413 while(isdigit(c=*cp++))
422 cp--;
429 c = *cp;
430 *cp = '\0';
432 *cp = c;
438 cp = evp;
489 c = *cp;
490 *cp = '\0';
492 *cp = c;
524 evp = cp;
527 while(*cp == ':' || (flag & HIST_QUICKSUBST))
533 cp--;
536 c = *++cp;
544 c = *++cp;
560 if((c == '/' && *cp == 'h') || (c == '.' && *cp == 'r'))
576 if((c == '/' && *cp == 't') || (c == '.' && *cp == 'e'))
587 cp++;
594 cp = parse_subst(cp, &sb);
599 c = *cp;
600 *cp = '\0';
605 *cp = c;
627 c = *cp;
628 *cp = '\0';
633 *cp = c;
642 if(*cp)
643 cp--;
654 if(*cp)
655 cp++;