X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=ir%2Fident%2Fident.c;h=22d15c233025567d1d542a06ee5ebd4c947049db;hb=ad7ea5e733b5a62df40a954ff5acdb2131cc4ace;hp=2a73dc50b8061189ba1960fbbae6dfafaf1e408a;hpb=d2397bae93f29d259eb15755d2ebe876071692e1;p=libfirm diff --git a/ir/ident/ident.c b/ir/ident/ident.c index 2a73dc50b..22d15c233 100644 --- 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) { - assert (len > 0); + assert(len > 0); 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; @@ -57,13 +63,13 @@ INLINE int id_to_strlen(ident *id) 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)); } -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); @@ -77,6 +83,11 @@ int id_is_suffix (ident *suffix, ident *id) 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);