- use skip_non_whitespace() where appropriate
diff --git a/coreutils/uniq.c b/coreutils/uniq.c
index bcdf440..11a731a 100644
--- a/coreutils/uniq.c
+++ b/coreutils/uniq.c
@@ -75,9 +75,7 @@
 			e1 = s1;
 			for (i = skip_fields; i; i--) {
 				e1 = skip_whitespace(e1);
-				while (*e1 && !isspace(*e1)) {
-					++e1;
-				}
+				e1 = skip_non_whitespace(e1);
 			}
 			for (i = skip_chars; *e1 && i; i--) {
 				++e1;
diff --git a/miscutils/dc.c b/miscutils/dc.c
index 8c9d77f..1953a94 100644
--- a/miscutils/dc.c
+++ b/miscutils/dc.c
@@ -182,9 +182,7 @@
 	current = skip_whitespace(*buffer);
 	if (*current != 0) {
 		start = current;
-		while (!isspace(*current) && *current != 0) {
-			current++;
-		}
+		current = skip_non_whitespace(current);
 		*buffer = current;
 	}
 	return start;
diff --git a/shell/bbsh.c b/shell/bbsh.c
index 4f38213..06fd013 100644
--- a/shell/bbsh.c
+++ b/shell/bbsh.c
@@ -90,7 +90,7 @@
 
 	// Grab next word.  (Add dequote and envvar logic here)
 	end = start;
-	while (*end && !isspace(*end)) end++;
+	end = skip_non_whitespace(end);
 	(*cmd)->argv[(*cmd)->argc++] = xstrndup(start, end-start);
 
 	// Allocate more space if there's no room for NULL terminator.