}
/**
- * Searches for the next position in a string minus white space.
+ * Returns the index of the first chunk of string $haystack that
+ * starts with non-white-space character, starting at position $pos.
+ * If there is no such chunk, returns -1.
*/
function next_pos_minus_white ($haystack, $pos) {
- while (substr($haystack, $pos, 1) == ' ' ||
- substr($haystack, $pos, 1) == "\t" ||
- substr($haystack, $pos, 1) == "\n" ||
- substr($haystack, $pos, 1) == "\r") {
- if ($pos >= strlen($haystack))
- return -1;
- $pos++;
- }
- return $pos;
+ $len = strlen($haystack);
+ while ($pos < $len) {
+ /* Get the next character. */
+ $c = substr($haystack, $pos, 1);
+
+ /* Check the next character. */
+ if (($c != ' ') && ($c != "\t") && ($c != "\n") && ($c != "\r")) {
+ return $pos;
+ }
+
+ /* Increment position in string. */
+ ++$pos;
+ }
+ return -1;
}
/**