summaryrefslogtreecommitdiff
path: root/nick.c
diff options
context:
space:
mode:
Diffstat (limited to 'nick.c')
-rw-r--r--nick.c17
1 files changed, 17 insertions, 0 deletions
diff --git a/nick.c b/nick.c
index 8b336de..54a0b2f 100644
--- a/nick.c
+++ b/nick.c
@@ -67,6 +67,23 @@ int nick_regex_add(struct nick_t *nick, const char *re_s) {
return 1;
}
+char *nick_get(char *name) {
+ struct nick_t *nick = nicks;
+ while(nick) {
+ struct nick_regex_t *nre = nick->regexes;
+ while(nre) {
+ int ovector[6];
+ int rc;
+ rc = pcre_exec(nre->re, nre->re_e, name, strlen(name), 0, 0, ovector, 6);
+ if(rc > 0)
+ return nick->name;
+ nre = nre->next;
+ }
+ nick = nick->next;
+ }
+ return name;
+}
+
void nick_free() {
struct nick_t *nick = nicks;
while(nick) {