struct        StringsBase     *StringsBase=0L;

/*#define RUN*/
#ifdef RUN

char *GetWordCpy(ds,s,numberl) char *ds; char *s; long numberl; {
  long el=0; char *p,*ps,*as; char c; el++; 
  ps=s; if(numberl<1) numberl=1; 
  if(s) {
   do {                             /* wordcountlloop */
    do { c=*ps++; } while (c==' '); /* readover SPACES */
    ps--; as=ps;
    if(c) {     /* charscpy until SPACE (next word) or EOS */
     do { c=*ps++; } while (!(c==' ') && c ); 
    }
    if(!c) numberl=0; if(numberl>0) numberl--;
   } while (numberl);
   p=ds; ps--; do { *p++=*as++; } while (as<ps); *p=0; 
  }
  if(!s) ps=0;
  return ps;
 }                                                /* $VER: GetWordCpy 0.1 */

#endif

main() {
  long el=0,il; char *p; char ds[256],s[256],ts[256];  el++; p=0;
  StringsBase=(struct StringsBase *)OpenLibrary("Strings.library",0);
  strcpy(s,"    "); GetWordCpy(ds,s,1); printf("OUT ds  = <%s>  s = <%s>\n",ds,s);
  strcpy(s," "); GetWordCpy(ds,s,2); printf("OUT ds  = <%s>  s = <%s>\n",ds,s);
  strcpy(s,""); GetWordCpy(ds,s,3); printf("OUT ds  = <%s>  s = <%s>\n",ds,s);
  strcpy(s,"  Dies ist   ein      Teststring der nacheinander aufgeteilt wird"); 
  for(il=0,printf(" <%s> \n",s); il<11; il++) {
   p=(char *)GetWordCpy(ds,s,il); printf("ds = <%s>  p = <%s>  %ld\n",ds,p,il); 
  };
  strcpy(s,"Dies ist ein Teststring der nacheinander aufgeteilt wird");
  for(il=0,printf(" <%s> \n",s); il<11; il++) {
   p=(char *)GetWordCpy(ds,s,il); printf("ds = <%s>  p = <%s>  %ld\n",ds,p,il);  
  };
  if(StringsBase) CloseLibrary(StringsBase);
 }  /*
OUT ds  = <>  s = <    >
OUT ds  = <>  s = < >
OUT ds  = <>  s = <>
 <  Dies ist   ein      Teststring der nacheinander aufgeteilt wird>
ds = <Dies>  p = < ist   ein      Teststring der nacheinander aufgeteilt wird>  0
ds = <Dies>  p = < ist   ein      Teststring der nacheinander aufgeteilt wird>  1
ds = <ist>  p = <   ein      Teststring der nacheinander aufgeteilt wird>  2
ds = <ein>  p = <      Teststring der nacheinander aufgeteilt wird>  3
ds = <Teststring>  p = < der nacheinander aufgeteilt wird>  4
ds = <der>  p = < nacheinander aufgeteilt wird>  5
ds = <nacheinander>  p = < aufgeteilt wird>  6
ds = <aufgeteilt>  p = < wird>  7
ds = <wird>  p = <>  8
ds = <wird>  p = <>  9
ds = <wird>  p = <>  10
 <Dies ist ein Teststring der nacheinander aufgeteilt wird>
ds = <Dies>  p = < ist ein Teststring der nacheinander aufgeteilt wird>  0
ds = <Dies>  p = < ist ein Teststring der nacheinander aufgeteilt wird>  1
ds = <ist>  p = < ein Teststring der nacheinander aufgeteilt wird>  2
ds = <ein>  p = < Teststring der nacheinander aufgeteilt wird>  3
ds = <Teststring>  p = < der nacheinander aufgeteilt wird>  4
ds = <der>  p = < nacheinander aufgeteilt wird>  5
ds = <nacheinander>  p = < aufgeteilt wird>  6
ds = <aufgeteilt>  p = < wird>  7
ds = <wird>  p = <>  8
ds = <wird>  p = <>  9
ds = <wird>  p = <>  10   */

