version 1.1.1.1, 2000/01/09 17:00:56 |
version 1.1.1.2, 2000/01/22 14:16:02 |
|
|
register int start = token[t_num].start_index; |
register int start = token[t_num].start_index; |
register int length = token[t_num].length; |
register int length = token[t_num].length; |
|
|
|
if (!str) |
|
return FALSE; |
if (!token[t_num].is_token) |
if (!token[t_num].is_token) |
return (FALSE); /* must be a value--can't be equal */ |
return FALSE; /* must be a value--can't be equal */ |
for (i = 0; i < length + after; i++) { |
for (i = 0; i < length + after; i++) { |
if (str[i] != input_line[start + i]) { |
if (str[i] != input_line[start + i]) { |
if (str[i] != '$') |
if (str[i] != '$') |
|
|
{ |
{ |
register int i = 0; |
register int i = 0; |
register int start = token[t_num].start_index; |
register int start = token[t_num].start_index; |
register int count; |
register int count = token[t_num].length; |
|
|
if ((count = token[t_num].length) >= max) { |
if (count >= max) { |
count = max - 1; |
count = max - 1; |
FPRINTF((stderr, "str buffer overflow in copy_str")); |
FPRINTF((stderr, "str buffer overflow in copy_str")); |
} |
} |
|
|
do { |
do { |
str[i++] = input_line[start++]; |
str[i++] = input_line[start++]; |
} while (i != count); |
} while (i != count); |
str[i] = NUL; |
str[i] = NUL; |
|
|
} |
} |
|
|
/* length of token string */ |
/* length of token string */ |
|
|
register int i, e; |
register int i, e; |
register char *s; |
register char *s; |
|
|
if (*str) /* previous pointer to malloc'd memory there */ |
|
free(*str); |
|
e = token[end].start_index + token[end].length; |
e = token[end].start_index + token[end].length; |
*str = gp_alloc((unsigned long) (e - token[start].start_index + 1), "string"); |
*str = gp_realloc(*str, (e - token[start].start_index + 1), "string"); |
s = *str; |
s = *str; |
for (i = token[start].start_index; i < e && input_line[i] != NUL; i++) |
for (i = token[start].start_index; i < e && input_line[i] != NUL; i++) |
*s++ = input_line[i]; |
*s++ = input_line[i]; |
Line 291 void m_quote_capture(str, start, end) |
|
Line 293 void m_quote_capture(str, start, end) |
|
char **str; |
char **str; |
int start, end; |
int start, end; |
{ |
{ |
register int i, e, escflag = 0; |
register int i, e; |
register char *s; |
register char *s; |
|
|
if (*str) /* previous pointer to malloc'd memory there */ |
|
free(*str); |
|
e = token[end].start_index + token[end].length - 1; |
e = token[end].start_index + token[end].length - 1; |
*str = gp_alloc((unsigned long) (e - token[start].start_index + 1), "string"); |
*str = gp_realloc(*str, (e - token[start].start_index + 1), "string"); |
s = *str; |
s = *str; |
for (i = token[start].start_index + 1; i < e && input_line[i] != NUL; i++) |
for (i = token[start].start_index + 1; i < e && input_line[i] != NUL; i++) |
if ((*s++ = input_line[i]) == '\\') ++escflag; |
*s++ = input_line[i]; |
*s = NUL; |
*s = NUL; |
if (escflag) parse_esc(*str); |
|
|
if (input_line[token[start].start_index] == '"') |
|
parse_esc(*str); |
|
|
} |
} |
|
|
|
|