Lines Matching defs:sindex

416   int sindex, c;
420 sindex = 0;
421 while (c = string[sindex])
429 ADVANCE_CHAR (string, slen, sindex);
433 sindex++;
434 if (string[sindex])
435 ADVANCE_CHAR (string, slen, sindex);
439 sindex = skip_single_quoted (string, slen, ++sindex);
443 sindex = skip_double_quoted (string, slen, ++sindex);
456 int sindex, c, sublen;
464 for (sindex = 0; c = string[sindex]; )
466 if (STREQN (string + sindex, substr, sublen))
472 sindex++;
474 if (string[sindex])
475 ADVANCE_CHAR (string, slen, sindex);
479 sindex = skip_single_quoted (string, slen, ++sindex);
483 sindex = skip_double_quoted (string, slen, ++sindex);
487 ADVANCE_CHAR (string, slen, sindex);
559 string_extract (string, sindex, charlist, flags)
561 int *sindex;
571 slen = (MB_CUR_MAX > 1) ? strlen (string + *sindex) + *sindex : 0;
572 i = *sindex;
606 *sindex = i;
610 temp = (flags & SX_NOALLOC) ? (char *)NULL : substring (string, *sindex, i);
611 *sindex = i;
624 string_extract_double_quoted (string, sindex, stripdq)
626 int *sindex, stripdq;
637 slen = strlen (string + *sindex) + *sindex;
641 temp = (char *)xmalloc (1 + slen - *sindex);
644 i = *sindex;
773 *sindex = i;
850 string_extract_single_quoted (string, sindex)
852 int *sindex;
860 slen = (MB_CUR_MAX > 1) ? strlen (string + *sindex) + *sindex : 0;
861 i = *sindex;
865 t = substring (string, *sindex, i);
869 *sindex = i;
895 string_extract_verbatim (string, slen, sindex, charlist, flags)
898 int *sindex;
902 register int i = *sindex;
913 temp = string_extract_single_quoted (string, sindex);
914 --*sindex; /* leave *sindex at separator character */
918 i = *sindex;
922 slen = (MB_CUR_MAX > 1) ? strlen (string + *sindex) + *sindex : 1;
986 temp = substring (string, *sindex, i);
987 *sindex = i;
997 extract_command_subst (string, sindex, xflags)
999 int *sindex;
1002 if (string[*sindex] == '(') /*)*/
1003 return (extract_delimited_string (string, sindex, "$(", "(", ")", xflags|SX_COMMAND)); /*)*/
1007 return (xparse_dolparen (string, string+*sindex, sindex, xflags));
1015 extract_arithmetic_subst (string, sindex)
1017 int *sindex;
1019 return (extract_delimited_string (string, sindex, "$[", "[", "]", 0)); /*]*/
1027 extract_process_subst (string, starter, sindex)
1030 int *sindex;
1032 return (extract_delimited_string (string, sindex, starter, "(", ")", 0));
1041 extract_array_assignment_list (string, sindex)
1043 int *sindex;
1051 ret = substring (string, *sindex, slen - 1);
1052 *sindex = slen - 1;
1068 extract_delimited_string (string, sindex, opener, alt_opener, closer, flags)
1070 int *sindex;
1081 slen = strlen (string + *sindex) + *sindex;
1089 i = *sindex;
1189 *sindex = i;
1194 si = i - *sindex - len_closer + 1;
1200 strncpy (result, string + *sindex, si);
1203 *sindex = i;
1217 extract_dollar_brace_string (string, sindex, quoted, flags)
1219 int *sindex, quoted, flags;
1229 slen = strlen (string + *sindex) + *sindex;
1231 i = *sindex;
1310 *sindex = i;
1315 result = (flags & SX_NOALLOC) ? (char *)NULL : substring (string, *sindex, i);
1316 *sindex = i;
2162 int sindex, sh_style_split, whitesep, xflags;
2198 for (result = (WORD_LIST *)NULL, sindex = 0; string[sindex]; )
2202 current_word = string_extract_verbatim (string, slen, &sindex, separators, xflags);
2230 else if (!sh_style_split && !spctabnl (string[sindex]))
2241 whitesep = string[sindex] && spctabnl (string[sindex]);
2244 if (string[sindex])
2247 ADVANCE_CHAR (string, slen, sindex);
2252 while (string[sindex] && spctabnl (string[sindex]) && issep (string[sindex]))
2253 sindex++;
2259 if (string[sindex] && whitesep && issep (string[sindex]) && !spctabnl (string[sindex]))
2261 sindex++;
2264 while (string[sindex] && spctabnl (string[sindex]) && isifs (string[sindex]))
2265 sindex++;
2284 int sindex, sh_style_split, whitesep, xflags;
2325 sindex = 0;
2329 current_word = string_extract_verbatim (s, slen, &sindex, separators, xflags);
2333 *endptr = s + sindex;
2336 whitesep = s[sindex] && spctabnl (s[sindex]);
2339 if (s[sindex])
2342 ADVANCE_CHAR (s, slen, sindex);
2347 while (s[sindex] && spctabnl (s[sindex]) && isifs (s[sindex]))
2348 sindex++;
2354 if (s[sindex] && whitesep && isifs (s[sindex]) && !spctabnl (s[sindex]))
2356 sindex++;
2359 while (s[sindex] && spctabnl (s[sindex]) && isifs (s[sindex]))
2360 sindex++;
2364 *stringp = s + sindex;
5227 int sindex;
5229 tt[sindex = 0] = '$';
5232 ret = param_expand (tt, &sindex, quoted, (int *)NULL, (int *)NULL,
6428 int t_index, sindex, c, tflag, modspec;
6435 sindex = *indexp;
6436 t_index = ++sindex;
6459 if ((sindex == t_index &&
6463 (sindex == t_index - 1 && string[sindex] == '!' &&
6473 *name = string[sindex];
6474 if (string[sindex] == '!')
6477 name[1] = string[sindex + 1];
6484 sindex = t_index;
6488 if (c = string[sindex])
6489 sindex++;
6495 if (c == ':' && VALID_PARAM_EXPAND_CHAR (string[sindex]))
6498 if (c = string[sindex])
6499 sindex++;
6501 else if (c == ':' && string[sindex] != RBRACE)
6503 else if (c == '/' && string[sindex] != RBRACE)
6518 VALID_SPECIAL_LENGTH_PARAM (c) && string[sindex] == RBRACE)
6523 c = string[sindex++];
6528 member (c, "%:=+/") && string[sindex] == RBRACE)
6555 if (string[sindex - 1] != RBRACE || (valid_length_expression (name) == 0))
6564 *indexp = sindex;
6586 if (want_indir && string[sindex - 1] == RBRACE &&
6587 (string[sindex - 2] == '*' || string[sindex - 2] == '@') &&
6598 if (string[sindex - 2] == '*')
6611 *indexp = sindex;
6620 if (want_indir && string[sindex - 1] == RBRACE &&
6621 string[sindex - 2] == ']' && valid_array_reference (name+1))
6640 *indexp = sindex;
6686 value = extract_dollar_brace_string (string, &sindex, quoted, 0);
6687 if (string[sindex] == RBRACE)
6688 sindex++;
6695 *indexp = sindex;
6889 param_expand (string, sindex, quoted, expanded_something,
6893 int *sindex, quoted, *expanded_something, *contains_dollar_at;
6905 zindex = *sindex;
7195 temp1 = substring (string, *sindex, zindex+1);
7301 *sindex = zindex;
7367 int sindex;
7410 for (sindex = 0; ;)
7412 c = string[sindex];
7421 sindex++;
7423 if (MB_CUR_MAX > 1 && string[sindex])
7425 SADD_MBQCHAR_BODY(temp, string, sindex, string_size);
7432 temp[1] = c = string[sindex];
7437 if (string[sindex])
7438 sindex++;
7454 if (string[++sindex] != LPAREN || (quoted & (Q_HERE_DOCUMENT|Q_DOUBLE_QUOTES)) || (word->flags & (W_DQUOTE|W_NOPROCSUB)) || posixly_correct)
7456 sindex--; /* add_character: label increments sindex */
7460 t_index = sindex + 1; /* skip past both '<' and LPAREN */
7463 sindex = t_index;
7500 assignoff == -1 && sindex > 0)
7501 assignoff = sindex;
7502 if (sindex == assignoff && string[sindex+1] == '~') /* XXX */
7507 string[sindex+1] == '~')
7525 string[sindex+1] == '~')
7538 (sindex > 0 && ((word->flags & W_ITILDE) == 0)) ||
7555 temp = bash_tilde_find_word (string + sindex, tflag, &t_index);
7570 sindex += t_index;
7584 tword = param_expand (string, &sindex, quoted, expanded_something,
7610 t_index = sindex++;
7612 temp = string_extract (string, &sindex, "`", SX_REQMATCH);
7613 /* The test of sindex against t_index is to allow bare instances of
7617 if (sindex - 1 == t_index)
7619 sindex = t_index;
7633 /* sindex + 1 because string[sindex] == '`' */
7634 temp1 = substring (string, t_index, sindex + 1);
7649 if (string[sindex + 1] == '\n')
7651 sindex += 2;
7655 c = string[++sindex];
7666 SCOPY_CHAR_I (twochars, '\\', c, string, sindex, string_size);
7671 sindex--; /* add_character: label increments sindex */
7676 SCOPY_CHAR_I (twochars, CTLESC, c, string, sindex, string_size);
7679 sindex++;
7681 /* BEFORE jumping here, we need to increment sindex if appropriate */
7698 t_index = ++sindex;
7699 temp = string_extract_double_quoted (string, &sindex, 0);
7703 quoted_state = (t_index == 1 && string[sindex] == '\0')
7834 sindex--; /* add_character: label increments sindex */
7848 t_index = ++sindex;
7849 temp = string_extract_single_quoted (string, &sindex);
7853 quoted_state = (t_index == 1 && string[sindex] == '\0')
7875 sindex--; /* add_character: label increments sindex */
7888 if (string[sindex]) /* from old goto dollar_add_string */
7889 sindex++;
7899 sindex--;
7903 SADD_MBQCHAR_BODY(temp, string, sindex, string_size);
7915 SADD_MBCHAR (temp, string, sindex, string_size);
7924 sindex++;
8054 int sindex, tindex, dquote;
8064 for (dquote = sindex = 0; c = string[sindex];)
8069 c = string[++sindex];
8080 SCOPY_CHAR_M (r, string, send, sindex);
8087 sindex++;
8090 tindex = sindex + 1;
8098 sindex = tindex;
8103 sindex++;