Index: /branches/eam_branches/ipp-20140610/Ohana/src/libohana/include/ohana.h
===================================================================
--- /branches/eam_branches/ipp-20140610/Ohana/src/libohana/include/ohana.h	(revision 36906)
+++ /branches/eam_branches/ipp-20140610/Ohana/src/libohana/include/ohana.h	(revision 36907)
@@ -267,4 +267,7 @@
 char   *strsubs                PROTO((char *string, char *match, char *with));
 
+char   *getword                PROTO((char *string));
+char   *skipword               PROTO((char *string));
+
 /* in findexec.c */
 char   *pathname               PROTO((char *name));
Index: /branches/eam_branches/ipp-20140610/Ohana/src/libohana/src/string.c
===================================================================
--- /branches/eam_branches/ipp-20140610/Ohana/src/libohana/src/string.c	(revision 36906)
+++ /branches/eam_branches/ipp-20140610/Ohana/src/libohana/src/string.c	(revision 36907)
@@ -402,2 +402,41 @@
   return (q);
 }
+
+// return a newly allocated string containing the first complete set of non-whitespace
+char *getword (char *string) {
+
+  int i, j;
+  char *word;
+
+  if (!string) return (NULL);
+
+  // find the end of the whitespace (is there any non-whitespace?)
+  for (i = 0; OHANA_WHITESPACE (string[i]); i++);
+  if (!string[i]) return (NULL);
+
+  for (j = i; string[j] && !OHANA_WHITESPACE(string[j]); j++);
+  word = strncreate (&string[i], j - i);
+  return (word);
+}
+
+// returns a pointer to the next word, or NULL if there is not a next word
+char *skipword (char *string) {
+
+  int i;
+
+  if (!string) return (NULL);
+
+  // find the end of the whitespace (is there any non-whitespace?)
+  for (i = 0; OHANA_WHITESPACE (string[i]); i++);
+  if (!string[i]) return (NULL);
+
+  // find the end of the non-whitespace (this word)
+  while (string[i] && !OHANA_WHITESPACE(string[i])) i++;
+
+  // find the end of the following whitespace
+  while (string[i] &&  OHANA_WHITESPACE(string[i])) i++;
+  if (!string[i]) return (NULL);
+
+  return (&string[i]);
+}
+
