filenames.h: #include "hashtab.h".
include/ * filenames.h: #include "hashtab.h". (filename_hash, filename_eq): Declare. libiberty/ * filename_cmp.c (filename_hash, filename_eq): New functions. From-SVN: r189472
This commit is contained in:
parent
c8b8af718c
commit
69488641ac
|
@ -1,3 +1,8 @@
|
||||||
|
2012-07-13 Doug Evans <dje@google.com>
|
||||||
|
|
||||||
|
* filenames.h: #include "hashtab.h".
|
||||||
|
(filename_hash, filename_eq): Declare.
|
||||||
|
|
||||||
2012-06-18 Doug Evans <dje@google.com>
|
2012-06-18 Doug Evans <dje@google.com>
|
||||||
|
|
||||||
* dwarf2.def (DW_OP): Add DW_OP_GNU_const_index.
|
* dwarf2.def (DW_OP): Add DW_OP_GNU_const_index.
|
||||||
|
|
|
@ -26,6 +26,8 @@ Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA.
|
||||||
#ifndef FILENAMES_H
|
#ifndef FILENAMES_H
|
||||||
#define FILENAMES_H
|
#define FILENAMES_H
|
||||||
|
|
||||||
|
#include "hashtab.h" /* for hashval_t */
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
extern "C" {
|
extern "C" {
|
||||||
#endif
|
#endif
|
||||||
|
@ -84,6 +86,10 @@ extern int filename_cmp (const char *s1, const char *s2);
|
||||||
extern int filename_ncmp (const char *s1, const char *s2,
|
extern int filename_ncmp (const char *s1, const char *s2,
|
||||||
size_t n);
|
size_t n);
|
||||||
|
|
||||||
|
extern hashval_t filename_hash (const void *s);
|
||||||
|
|
||||||
|
extern int filename_eq (const void *s1, const void *s2);
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -1,3 +1,7 @@
|
||||||
|
2012-07-13 Doug Evans <dje@google.com>
|
||||||
|
|
||||||
|
* filename_cmp.c (filename_hash, filename_eq): New functions.
|
||||||
|
|
||||||
2012-06-29 Andreas Schwab <schwab@linux-m68k.org>
|
2012-06-29 Andreas Schwab <schwab@linux-m68k.org>
|
||||||
|
|
||||||
* copying-lib.texi (Library Copying): Don't use @heading inside
|
* copying-lib.texi (Library Copying): Don't use @heading inside
|
||||||
|
|
|
@ -141,3 +141,52 @@ filename_ncmp (const char *s1, const char *s2, size_t n)
|
||||||
return 0;
|
return 0;
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
|
||||||
|
@deftypefn Extension hashval_t filename_hash (const void *@var{s})
|
||||||
|
|
||||||
|
Return the hash value for file name @var{s} that will be compared
|
||||||
|
using filename_cmp.
|
||||||
|
This function is for use with hashtab.c hash tables.
|
||||||
|
|
||||||
|
@end deftypefn
|
||||||
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
hashval_t
|
||||||
|
filename_hash (const void *s)
|
||||||
|
{
|
||||||
|
/* The cast is for -Wc++-compat. */
|
||||||
|
const unsigned char *str = (const unsigned char *) s;
|
||||||
|
hashval_t r = 0;
|
||||||
|
unsigned char c;
|
||||||
|
|
||||||
|
while ((c = *str++) != 0)
|
||||||
|
{
|
||||||
|
if (c == '\\')
|
||||||
|
c = '/';
|
||||||
|
c = TOLOWER (c);
|
||||||
|
r = r * 67 + c - 113;
|
||||||
|
}
|
||||||
|
|
||||||
|
return r;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
|
||||||
|
@deftypefn Extension int filename_eq (const void *@var{s1}, const void *@var{s2})
|
||||||
|
|
||||||
|
Return non-zero if file names @var{s1} and @var{s2} are equivalent.
|
||||||
|
This function is for use with hashtab.c hash tables.
|
||||||
|
|
||||||
|
@end deftypefn
|
||||||
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
int
|
||||||
|
filename_eq (const void *s1, const void *s2)
|
||||||
|
{
|
||||||
|
/* The casts are for -Wc++-compat. */
|
||||||
|
return filename_cmp ((const char *) s1, (const char *) s2) == 0;
|
||||||
|
}
|
||||||
|
|
Loading…
Reference in New Issue