[BACK]Return to hash.c CVS log [TXT][DIR] Up to [cvsweb.bsd.lv] / mandoc

Diff for /mandoc/Attic/hash.c between version 1.1 and 1.2

version 1.1, 2008/12/15 01:54:58 version 1.2, 2008/12/15 02:23:12
Line 37  mdoc_hash_free(void *htab)
Line 37  mdoc_hash_free(void *htab)
 void *  void *
 mdoc_hash_alloc(void)  mdoc_hash_alloc(void)
 {  {
         int               i, major, minor, index;          int               i, major, minor, ind;
         const void      **htab;          const void      **htab;
   
         htab = calloc(27 * 26, sizeof(struct mdoc_macro *));          htab = calloc(27 * 26, sizeof(struct mdoc_macro *));
Line 69  mdoc_hash_alloc(void)
Line 69  mdoc_hash_alloc(void)
                 assert(major >= 0 && major < 27);                  assert(major >= 0 && major < 27);
                 assert(minor >= 0 && minor < 26);                  assert(minor >= 0 && minor < 26);
   
                 index = (major * 27) + minor;                  ind = (major * 27) + minor;
   
                 assert(NULL == htab[index]);                  assert(NULL == htab[ind]);
                 htab[index] = &mdoc_macros[i];                  htab[ind] = &mdoc_macros[i];
         }          }
   
         return((void *)htab);          return((void *)htab);
Line 82  mdoc_hash_alloc(void)
Line 82  mdoc_hash_alloc(void)
 int  int
 mdoc_hash_find(const void *arg, const char *tmp)  mdoc_hash_find(const void *arg, const char *tmp)
 {  {
         int               major, minor, index, slot;          int               major, minor, ind, slot;
         const void      **htab;          const void      **htab;
   
         htab = (const void **)arg;          htab = /* LINTED */
                   (const void **)arg;
   
         if (0 == tmp[0] || 0 == tmp[1])          if (0 == tmp[0] || 0 == tmp[1])
                 return(MDOC_MAX);                  return(MDOC_MAX);
Line 110  mdoc_hash_find(const void *arg, const char *tmp)
Line 111  mdoc_hash_find(const void *arg, const char *tmp)
         else          else
                 minor = tmp[1] - 97;                  minor = tmp[1] - 97;
   
         index = (major * 27) + minor;          ind = (major * 27) + minor;
   
         if (NULL == htab[index])          if (NULL == htab[ind])
                 return(MDOC_MAX);                  return(MDOC_MAX);
   
         slot = htab[index] - (void *)mdoc_macros;          slot = htab[ind] - /* LINTED */
         assert(0 == slot % sizeof(struct mdoc_macro));                  (void *)mdoc_macros;
           assert(0 == (size_t)slot % sizeof(struct mdoc_macro));
         slot /= sizeof(struct mdoc_macro);          slot /= sizeof(struct mdoc_macro);
   
         if (0 != strcmp(mdoc_macronames[slot], tmp))          if (0 != strcmp(mdoc_macronames[slot], tmp))

Legend:
Removed from v.1.1  
changed lines
  Added in v.1.2

CVSweb