/* * argv_wordcount.c * */ #include "private.h" /*--------------------------------------------------------- */ unsigned lub_argv_wordcount(const char *line) { const char *word; unsigned result = 0; size_t len = 0, offset = 0; bool_t quoted; for (word = lub_argv_nextword(line, &len, &offset, "ed); *word; word = lub_argv_nextword(word + len, &len, &offset, "ed)) { /* account for the terminating quotation mark */ len += (BOOL_TRUE == quoted) ? 1 : 0; result++; } return result; } /*--------------------------------------------------------- */