projects
/
libfirm
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
New implementation of tarval module
[libfirm]
/
ir
/
ident
/
ident.c
diff --git
a/ir/ident/ident.c
b/ir/ident/ident.c
index
2a73dc5
..
22d15c2
100644
(file)
--- a/
ir/ident/ident.c
+++ b/
ir/ident/ident.c
@@
-43,10
+43,16
@@
void id_init(void)
INLINE ident *id_from_str (const char *str, int len)
{
INLINE ident *id_from_str (const char *str, int len)
{
- assert
(len > 0);
+ assert(len > 0);
return set_hinsert0(id_set, str, len, ID_HASH(str, len));
}
return set_hinsert0(id_set, str, len, ID_HASH(str, len));
}
+ident *new_id_from_str(const char *str)
+{
+ assert(str);
+ return id_from_str(str, strlen(str));
+}
+
INLINE const char *id_to_str(ident *id)
{
return (const char *)id->dptr;
INLINE const char *id_to_str(ident *id)
{
return (const char *)id->dptr;
@@
-57,13
+63,13
@@
INLINE int id_to_strlen(ident *id)
return id->size;
}
return id->size;
}
-int id_is_prefix
(ident *prefix, ident *id)
+int id_is_prefix(ident *prefix, ident *id)
{
if (id_to_strlen(prefix) > id_to_strlen(id)) return 0;
return 0 == memcmp(prefix->dptr, id->dptr, id_to_strlen(prefix));
}
{
if (id_to_strlen(prefix) > id_to_strlen(id)) return 0;
return 0 == memcmp(prefix->dptr, id->dptr, id_to_strlen(prefix));
}
-int id_is_suffix
(ident *suffix, ident *id)
+int id_is_suffix(ident *suffix, ident *id)
{
int suflen = id_to_strlen(suffix);
int idlen = id_to_strlen(id);
{
int suflen = id_to_strlen(suffix);
int idlen = id_to_strlen(id);
@@
-77,6
+83,11
@@
int id_is_suffix (ident *suffix, ident *id)
return 0 == memcmp(suffix->dptr, part, suflen);
}
return 0 == memcmp(suffix->dptr, part, suflen);
}
+int id_contains_char(ident *id, char c)
+{
+ return strchr(id_to_str(id), c) != NULL;
+}
+
int print_id (ident *id)
{
return xprintf("%I", id);
int print_id (ident *id)
{
return xprintf("%I", id);