Commit Diff
Diff:
1e4a00f94f32edf5c2240864b7e56f69636312f4
15fec92ed75c3de0b32c40d005e93e3f61aef77e
Commit:
15fec92ed75c3de0b32c40d005e93e3f61aef77e
Tree:
b249c2b93f50282a6117d75110688d5e0850093e
Author:
Alexander Barton <alex@barton.de>
Committer:
Alexander Barton <alex@barton.de>
Date:
Sun Dec 25 18:43:00 2011 UTC
Message:
Update list item, if it already exists This updates the "validity" (timeout) as well as the "reason" text, if given.
blob - 11f8e888fec5292ff9b169c2fa9cd4954b2fc413
blob + 27a51dca1f3a3787932a53283b4308bce8fc3e25
--- src/ngircd/lists.c
+++ src/ngircd/lists.c
@@ -126,8 +126,19 @@ Lists_Add(struct list_head *h, const char *Mask, time_
assert(h != NULL);
assert(Mask != NULL);
- if (Lists_CheckDupeMask(h, Mask))
+ e = Lists_CheckDupeMask(h, Mask);
+ if (e) {
+ e->valid_until = ValidUntil;
+ if (e->reason)
+ free(e->reason);
+ e->reason = malloc(strlen(Reason) + 1);
+ if (e->reason)
+ strlcpy(e->reason, Reason, strlen(Reason) + 1);
+ else
+ Log(LOG_EMERG,
+ "Can't allocate memory for new list reason text!");
return true;
+ }
e = Lists_GetFirst(h);
IRCNow