A couple of clarifications


Subject: A couple of clarifications
abnay@altavista.net
Date: Sat Feb 12 2000 - 19:51:13 CST


I am trying to clean up warnings in the debug build
on Linux/Alpha. I was successful in cleaning up
some files in abi/src/other/spell/. Can someone
kindly clear up the following for me, please.

1. I notice Rcs_Id is ifndef'ed as a global static
   variable in several files like
     abi/src/other/spell/good.c and
     abi/src/other/spell/lookup.c
   and is not used. Wat is the purpose of this
   variable? What is the define variable lint
   supposed to do?

2. The global variable hashstrings is a char *.
   In linit():abi/src/other/spell/lookup.c
   it is accessed as an array using dp->word
   as index (where dp is of type struct dent).
   dp->word is a char * (see struct
   dent in ispell.h) and it is cast as an int.
   Can we clean up this requirement for casting
   a char * to int? This downcast, I believe,
   is particularly going to be harmful on an
   Alpha (64-bit m/c) where sizeof(int) is 4 and
   sizeof(char *) is 8. I did not yet look deep into
   the use/semantics of hashstrings variable but
   my first thought is to make it a char ** and
   make dp->word an unsigned long (size_t probably?).

All thoughts/clarifications are welcome.

Bharadwaj
   

----------------------------------------------------------------
Get your free email from AltaVista at http://altavista.iname.com



This archive was generated by hypermail 2b25 : Sat Feb 12 2000 - 19:51:15 CST