- *desc = 0;
- sscanf (buf, "%s %d %d %c %[^\n]", group, &last, &first, &mod, desc);
- if (!group)
- return 0;
- if ((nntp_data = hash_find(s->newsgroups, group)) == NULL) {
- n++;
- nntp_data = nntp_data_new();
- nntp_data->group = m_strdup(group);
- nntp_data->nserv = s;
- if (s->newsgroups->nelem < s->newsgroups->curnelem * 2)
- hash_resize (s->newsgroups, s->newsgroups->nelem * 2);
- hash_insert(s->newsgroups, nntp_data->group, nntp_data);
- s->tail = nntp_data_list_append(s->tail, nntp_data);
- }
- nntp_data->deleted = 0;
- nntp_data->firstMessage = first;
- nntp_data->lastMessage = last;
- if (mod == 'y')
- nntp_data->allowed = 1;
- else
- nntp_data->allowed = 0;
- if (nntp_data->desc)
- p_delete(&nntp_data->desc);
- if (*desc)
- nntp_data->desc = m_strdup(desc);
- if (nntp_data->rc || nntp_data->lastCached)
- mutt_newsgroup_stat (nntp_data);
- else if (nntp_data->lastMessage &&
- nntp_data->firstMessage <= nntp_data->lastMessage)
- nntp_data->unread = nntp_data->lastMessage - nntp_data->firstMessage + 1;
- else
- nntp_data->unread = 0;
+ *desc = '\0';
+ sscanf(buf, "%s %d %d %c %[^\n]", group, &last, &first, &mod, desc);