summaryrefslogtreecommitdiff
path: root/nick.c
diff options
context:
space:
mode:
authorJon Bergli Heier <snakebite@jvnv.net>2009-08-21 13:02:22 +0200
committerJon Bergli Heier <snakebite@jvnv.net>2009-08-21 13:02:22 +0200
commitc1af999ee417b7e80a828f9f7d1b39915814595a (patch)
tree824fb3f57fb0ca405064569b99912bd3dd02028b /nick.c
parent431296aedecf7a05cd3332e885fc56b784ef00cb (diff)
Implemented nick_get - nicks can now be mapped
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) {