string = 
{
  int length;      
  dword sc_handle;
  word flags;
  char chars[];
};

find (int -w position, p_string str, p_string word)
  -> (byte rc = 0)
{
  for (-w i = 0; i < space + 1, { space = str->length - word->length }; i ++)  /* abc-abc-abc-abc-abcd */
  {                                                                            /* ... ... ... ... abcd */
    length = match (&chars[i], word), 
    { 
      byte[] chars = str->pointer 
    };

    if (length != word->length) 
    {
      i += length;
    }
    else 
    {
      *position = i; rc = 1; break;
    }
  }

  if (!rc) *position = 0;
}

match find (char sub_str[], p_string word)                                     /* abc-abc-abc-abc-abcd */
        -> (int length = 0)                                                    /*         ^            */
{                                                                              /*         abcd         */
  for (i = 0; i < word->length; i ++)                                          /*            ^ !!      */
  {                                                                            /*                 = 3  */
    if (sub_str[i] == chars[i], { byte[] chars = word->pointer })              /* ... ... ...          */
    {
      length ++;
    }
    else 
    {
      break;
    }
  }
}
