H1 the quick; brown fox: jumps over the lazy, fat dog.
the quick; brown fox: jumps over the lazy, fat dog.
the quick; brown fox: jumps over the lazy, fat dog.
the quick; brown fox: jumps over the lazy, fat dog.
the quick; brown17 fox: jumpsover the lazyn, fata dog.

H2 the quick; brown fox: jumps over the lazy, fat dog.
the quick; brown fox: jumps over the lazy, fat dog.
the quick; brown fox: jumps over the lazy, fat dog.
the quick; brown fox: jumps over the lazy, fat dog.
the quick; brown17 fox: jumpsover the lazyn, fata dog.

H3 the quick; brown fox: jumps over the lazy, fat dog.
the quick; brown fox: jumps over the lazy, fat dog.
the quick; brown fox: jumps over the lazy, fat dog.
the quick; brown fox: jumps over the lazy, fat dog.
the quick; brown17 fox: jumpsover the lazyn, fata dog.

H4 the quick; brown fox: jumps over the lazy, fat dog.
the quick; brown fox: jumps over the lazy, fat dog.
the quick; brown fox: jumps over the lazy, fat dog.
the quick; brown fox: jumps over the lazy, fat dog.
the quick; brown17 fox: jumpsover the lazyn, fata dog.

H5 the quick; brown fox: jumps over the lazy, fat dog.
the quick; brown fox: jumps over the lazy, fat dog.
the quick; brown fox: jumps over the lazy, fat dog.
the quick; brown fox: jumps over the lazy, fat dog.
the quick; brown17 fox: jumpsover the lazyn, fata dog.
H6 the quick; brown fox: jumps over the lazy, fat dog.
the quick; brown fox: jumps over the lazy, fat dog.
the quick; brown fox: jumps over the lazy, fat dog.
the quick; brown fox: jumps over the lazy, fat dog.
the quick; brown17 fox: jumpsover the lazyn, fata dog.

FontSize=7 the quick; brown fox: jumps over the lazy, fat dog.
the quick; brown fox: jumps over the lazy, fat dog.
the quick; brown fox: jumps over the lazy, fat dog.
the quick; brown fox: jumps over the lazy, fat dog.
the quick; brown17 fox: jumpsover the lazyn, fata dog.

FontSize=6 the quick; brown fox: jumps over the lazy, fat dog.
the quick; brown fox: jumps over the lazy, fat dog.
the quick; brown fox: jumps over the lazy, fat dog.
the quick; brown fox: jumps over the lazy, fat dog.
the quick; brown17 fox: jumpsover the lazyn, fata dog.

FontSize=5 the quick; brown fox: jumps over the lazy, fat dog.
the quick; brown fox: jumps over the lazy, fat dog.
the quick; brown fox: jumps over the lazy, fat dog.
the quick; brown fox: jumps over the lazy, fat dog.
the quick; brown17 fox: jumpsover the lazyn, fata dog.

FontSize=4 the quick; brown fox: jumps over the lazy, fat dog.
the quick; brown fox: jumps over the lazy, fat dog.
the quick; brown fox: jumps over the lazy, fat dog.
the quick; brown fox: jumps over the lazy, fat dog.
the quick; brown17 fox: jumpsover the lazyn, fata dog.

FontSize=3 the quick; brown fox: jumps over the lazy, fat dog.
the quick; brown fox: jumps over the lazy, fat dog.
the quick; brown fox: jumps over the lazy, fat dog.
the quick; brown fox: jumps over the lazy, fat dog.
the quick; brown17 fox: jumpsover the lazyn, fata dog.

FontSize=2 the quick; brown fox: jumps over the lazy, fat dog.
the quick; brown fox: jumps over the lazy, fat dog.
the quick; brown fox: jumps over the lazy, fat dog.
the quick; brown fox: jumps over the lazy, fat dog.
the quick; brown17 fox: jumpsover the lazyn, fata dog.

FontSize=1 the quick; brown fox: jumps over the lazy, fat dog.
the quick; brown fox: jumps over the lazy, fat dog.
the quick; brown fox: jumps over the lazy, fat dog.
the quick; brown fox: jumps over the lazy, fat dog.
the quick; brown17 fox: jumpsover the lazyn, fata dog.

/*
 *      row_delete ( char str[] )
 *              remove an item from the list and free its memory.
 */
 
void row_delete ( char str[] )
{
  struct link *linkp ;
  struct link *prevlinkp ;
  unsigned char i ;                            /* index of heads[]           */

  prevlinkp = NULL ;
  
  i = ( str[0] - 'a' )  ;
  /* set the index to the correct element of the hash table                  */
  linkp = heads[i] ;
  
  while ( linkp != NULL )                   
     /* Walk through the list      */
    {
      if ( strcmp ( linkp -> word, str ) < 0 )
         /* str sorts higher than the entry, so keep looking */
        {
          prevlinkp = linkp ;                  /* track the prior element    */
          linkp = linkp -> next ;
        }
      else
        /* see whether it's in the list or not.                              */
        {
          if ( strcmp ( linkp -> word, str ) == 0 )
            /* if it's there, nuke it, except....                            */
            {
              if ( prevlinkp == NULL )
                /* don't nuke the index node; just set its count to 0.       */
                {
                  linkp -> value = 0 ;
                }
              else
                /* ok, point its predecessor at its sucessor & nuke it.      */
                {
                  ( prevlinkp -> next ) = ( linkp -> next ) ;
                  free ( linkp -> word ) ;
                  free ( linkp ) ;
                }
            }
          else
            /* Can't rm what's not there.                                    */
            {
              printf ( "Can't remove %s from list; it's not there.\n" , str ) ;
            }                                  
          return ;
          /* Since the list is sorted, don't keep going throug it.           */
        }
    }
  printf ( "Can't remove %s from list; it's not there.\n" , str ) ;
  /* If we're here, we're on the last element was looked at on the
   * last round through the loop and it wasn't == str, so we haven't
   * returned, so it's not in the listand its not the 
   */
}