JSkipWhitespace

Table of Contents

JSkipWhitespace

Description

Skip whitespace from current reading position.

Parameters

NameDirectionDescription
siinReading position to start looking for whitespace

Success

Returns StrIter advanced past all whitespace

Failure

Returns original StrIter if already at end

Usage example (Cross-references)

    \
    StrIter saved_si = si;                                                                                         \
    si               = JSkipWhitespace(si);                                                                        \
    \
    /* starting of an object */                                                                                    \
    }                                                                                                              \
    StrIterNext(&si);                                                                                              \
    si = JSkipWhitespace(si);                                                                                      \
    \
    bool expect_comma = false;                                                                                     \
    }                                                                                                      \
    StrIterNext(&si); /* skip comma */                                                                     \
    si = JSkipWhitespace(si);                                                                              \
    }                                                                                                          \
    \
    si = read_si;                                                                                          \
    }                                                                                                          \
    si = JSkipWhitespace(si);                                                                                  \
    \
    /* expect a comma after a successful value read in array */                                                \
    \
    StrIter saved_si = si;                                                                                         \
    si               = JSkipWhitespace(si);                                                                        \
    \
    /* starting of an object */                                                                                    \
    }                                                                                                              \
    StrIterNext(&si);                                                                                              \
    si = JSkipWhitespace(si);                                                                                      \
    \
    StrIter read_si;                                                                                               \
    }                                                                                                      \
    StrIterNext(&si); /* skip comma */                                                                     \
    si = JSkipWhitespace(si);                                                                              \
    }                                                                                                          \
    \
    \
    si = read_si;                                                                                              \
    si = JSkipWhitespace(si);                                                                                  \
    \
    \
    }                                                                                                          \
    StrIterNext(&si);                                                                                          \
    si = JSkipWhitespace(si);                                                                                  \
    \
    \
    }                                                                                                          \
    StrDeinit(&key);                                                                                           \
    si = JSkipWhitespace(si);                                                                                  \
    \
    \
    
    StrIter saved_si = si;
    si               = JSkipWhitespace(si);
    
    // starting of an object
    }
    StrIterNext(&si);
    si = JSkipWhitespace(si);
    
    StrIter read_si;
    }
    StrIterNext(&si); // skip comma
    si = JSkipWhitespace(si);
    }
    }
    si = read_si;
    si = JSkipWhitespace(si);
    
    if (StrIterPeek(&si) != ':') {
    }
    StrIterNext(&si);
    si = JSkipWhitespace(si);
    
    // skip values within object
    StrDeinit(&key);
    si = read_si;
    si = JSkipWhitespace(si);
    
    // expect a comma after a successful key-value pair read
    
    StrIter saved_si = si;
    si               = JSkipWhitespace(si);
    
    // starting of an object
    }
    StrIterNext(&si);
    si = JSkipWhitespace(si);
    
    StrIter read_si;
    }
    StrIterNext(&si); // skip comma
    si = JSkipWhitespace(si);
    }
    
    si = read_si;
    si = JSkipWhitespace(si);
    
    // expect a comma after a successful value read in array
    }
    
    StrIter JSkipWhitespace(StrIter si) {
    if (!StrIterRemainingLength(&si)) {
    return si;
    
    StrIter saved_si = si;
    si               = JSkipWhitespace(si);
    
    // string start
    
    StrIter saved_si = si;
    si               = JSkipWhitespace(si);
    Str ns           = StrInit();
    
    StrIter saved_si = si;
    si               = JSkipWhitespace(si);
    
    if (StrIterRemainingLength(&si) >= 4) {
    
    StrIter saved_si = si;
    si               = JSkipWhitespace(si);
    
    *is_null = false;
    
    StrIter saved_si = si;
    si               = JSkipWhitespace(si);
    
    // check for true/false

Share :

Related Posts

MIN2

MIN2 Description Returns the smaller of two values x and y.

Read More

IS_SPACE

IS_SPACE Description Checks if the given character c is a whitespace character.

Read More

CLAMP

CLAMP Description Clamps the value of x to be within the inclusive range [lo, hi].

Read More