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

ulong find (int -w position, p_string str, p_string word)
        -> (ulong 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;
}

int 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;
    }
  }
}
