Changeset 133 for trunk/src/sh_hash.c


Ignore:
Timestamp:
Oct 25, 2007, 12:19:05 AM (12 years ago)
Author:
rainer
Message:

Reentrant checksum/hash functions.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/sh_hash.c

    r132 r133  
    430430  file_type * theFile;
    431431  char * str;
     432  char hashbuf[KEYBUF_SIZE];
    432433
    433434  /* --------  find the entry for the file ----------------       */
     
    438439    p = hashsearch( sh_tiger_hash(fullpath,
    439440                                  TIGER_DATA,
    440                                   sl_strlen(fullpath))
     441                                  sl_strlen(fullpath),
     442                                  hashbuf, sizeof(hashbuf))
    441443                    );
    442444  if (p == NULL)
     
    11161118  SL_TICKET open_tmp (void);
    11171119#endif
     1120  char hashbuf[KEYBUF_SIZE];
    11181121
    11191122  SL_ENTER(_("sh_hash_init"));
     
    11441147      sl_rewind (fd);
    11451148
    1146       tiger_fd = fd;
    11471149      sl_strlcpy (sh.data.hash,
    11481150                  sh_tiger_hash (file_path('C', 'R'), /*irrelevant, TIGER_FD*/
    1149                                  TIGER_FD, 0),
     1151                                 fd, 0, hashbuf, sizeof(hashbuf)),
    11501152                  KEY_LEN+1);
    11511153      sl_rewind (fd);
     
    11731175              file_path('D', 'R')));
    11741176
    1175         tiger_fd = fd;
    11761177        if (0 != sl_strncmp(sh.data.hash,
    1177                             sh_tiger_hash (file_path('D', 'R'), TIGER_FD, 0),
     1178                            sh_tiger_hash (file_path('D', 'R'), fd, 0,
     1179                                           hashbuf, sizeof(hashbuf)),
    11781180                            KEY_LEN)
    11791181            && sh.flag.checkSum != SH_CHECK_INIT)
     
    15501552    else
    15511553      {
     1554        char hashbuf[KEYBUF_SIZE];
     1555
    15521556        sl_strlcpy(fullpath,
    15531557                   sh_tiger_hash (buf->fullpath,
    1554                                   TIGER_DATA, old_len),
     1558                                  TIGER_DATA, old_len,
     1559                                  hashbuf, sizeof(hashbuf)),
    15551560                   KEY_LEN+1);
    15561561      }
     
    15871592      else
    15881593        {
     1594          char hashbuf[KEYBUF_SIZE];
    15891595          sl_strlcpy(linkpath,
    15901596                     sh_tiger_hash (buf->linkpath,
    1591                                     TIGER_DATA, old_len),
     1597                                    TIGER_DATA, old_len,
     1598                                    hashbuf, sizeof(hashbuf)),
    15921599                     KEY_LEN+1);
    15931600        }
     
    18281835{
    18291836  sh_file_t * p;
     1837  char hashbuf[KEYBUF_SIZE];
    18301838
    18311839  SL_ENTER(_("sh_hash_have_it_int"));
     
    18391847    p = hashsearch(newname);
    18401848  else
    1841     p = hashsearch ( sh_tiger_hash(newname, TIGER_DATA, sl_strlen(newname)) );
     1849    p = hashsearch ( sh_tiger_hash(newname, TIGER_DATA, sl_strlen(newname),
     1850                                   hashbuf, sizeof(hashbuf)) );
    18421851  if (p == NULL)
    18431852     SL_RETURN( (NULL), _("sh_hash_have_it_int"));
     
    19191928{
    19201929  sh_file_t * p;
     1930  char hashbuf[KEYBUF_SIZE];
    19211931
    19221932  SL_ENTER(_("sh_hash_set_visited_int"));
     
    19301940    p = hashsearch(newname);
    19311941  else
    1932     p = hashsearch (sh_tiger_hash(newname, TIGER_DATA, sl_strlen(newname)));
     1942    p = hashsearch (sh_tiger_hash(newname, TIGER_DATA, sl_strlen(newname),
     1943                                  hashbuf, sizeof(hashbuf)));
    19331944 
    19341945  if (p == NULL)
     
    21202131  char * linkpath;
    21212132  char * attr_string = NULL;
     2133  char hashbuf[KEYBUF_SIZE];
    21222134
    21232135  SL_ENTER(_("sh_hash_push_int"));
     
    21702182      fullpath = SH_ALLOC(KEY_LEN + 1);
    21712183      sl_strlcpy(fullpath,
    2172                  sh_tiger_hash (buf->fullpath, TIGER_DATA, len),
     2184                 sh_tiger_hash (buf->fullpath, TIGER_DATA, len,
     2185                                hashbuf, sizeof(hashbuf)),
    21732186                 KEY_LEN+1);
    21742187    }
     
    21872200          linkpath = SH_ALLOC(KEY_LEN + 1);
    21882201          sl_strlcpy(linkpath,
    2189                      sh_tiger_hash (buf->linkpath, TIGER_DATA, len),
     2202                     sh_tiger_hash (buf->linkpath, TIGER_DATA, len,
     2203                                    hashbuf, sizeof(hashbuf)),
    21902204                     KEY_LEN+1);
    21912205        }
     
    26162630  char log_policy[32];
    26172631  int  log_severity;
     2632  char hashbuf[KEYBUF_SIZE];
    26182633
    26192634  SL_ENTER(_("sh_hash_compdata"));
     
    26362651    p = hashsearch( sh_tiger_hash(theFile->fullpath,
    26372652                                  TIGER_DATA,
    2638                                   sl_strlen(theFile->fullpath))
     2653                                  sl_strlen(theFile->fullpath),
     2654                                  hashbuf, sizeof(hashbuf))
    26392655                    );
    26402656
     
    27392755                     sh_tiger_hash(theFile->linkpath,
    27402756                                   TIGER_DATA,
    2741                                    sl_strlen(theFile->linkpath)),
     2757                                   sl_strlen(theFile->linkpath),
     2758                                   hashbuf, sizeof(hashbuf)),
    27422759                     MAX_PATH_STORE+1);
    27432760          maxcomp = MAX_PATH_STORE;
Note: See TracChangeset for help on using the changeset viewer.