- struct pendingLOCUser *pending, *next, *prev = NULL;
- for(pending = pendingLOCUsers; pending; pending = next) {
- next = pending->next;
- if(!strcmp(user->numeric, pending->numeric)) {
- pending->authlog->user = user;
- if(prev)
- prev->next = next;
- else
- pendingLOCUsers = next;
- free(pending);
- }
- if(now - pending->time > 10) {
- if(prev)
- prev->next = next;
- else
- pendingLOCUsers = next;
- free(pending);
+ if(pendingLOCUsers) {
+ struct pendingLOCUser *pending, *next, *prev = NULL;
+ for(pending = pendingLOCUsers; pending; pending = next) {
+ next = pending->next;
+ if(user->handle_info == pending->handle_info) {
+ pending->authlog->user = user;
+ if(prev)
+ prev->next = next;
+ else
+ pendingLOCUsers = next;
+ free(pending);
+ }
+ if(now - pending->time > 10) {
+ if(prev)
+ prev->next = next;
+ else
+ pendingLOCUsers = next;
+ free(pending);
+ }