/[mailutils]/mailutils/mh/mh_msgset.c
ViewVC logotype

Diff of /mailutils/mh/mh_msgset.c

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.1 by gray, Wed Sep 18 17:35:23 2002 UTC revision 1.2 by gray, Wed Sep 18 21:19:55 2002 UTC
# Line 163  msgset_preproc (mailbox_t mbox, char *ar Line 163  msgset_preproc (mailbox_t mbox, char *ar
163    return strdup (arg);    return strdup (arg);
164  }  }
165    
166    static int
167    comp_mesg (const void *a, const void *b)
168    {
169      if (*(size_t*)a > *(size_t*)b)
170        return 1;
171      else if (*(size_t*)a < *(size_t*)b)
172        return -1;
173      return 0;
174    }
175    
176  int  int
177  mh_msgset_parse (mailbox_t mbox, mh_msgset_t *msgset, int argc, char **argv)  mh_msgset_parse (mailbox_t mbox, mh_msgset_t *msgset, int argc, char **argv)
178  {  {
# Line 231  mh_msgset_parse (mailbox_t mbox, mh_msgs Line 241  mh_msgset_parse (mailbox_t mbox, mh_msgs
241        free (arg);        free (arg);
242      }      }
243    
244      /* Sort the resulting message set */
245      qsort (msglist, msgcnt, sizeof (*msglist), comp_mesg);
246    
247      /* Remove duplicates. */
248      for (i = 0, msgno = 1; i < msgcnt; i++)
249        if (msglist[msgno-1] != msglist[i])
250          msglist[msgno++] = msglist[i];
251      msgcnt = msgno;
252      
253    msgset->count = msgcnt;    msgset->count = msgcnt;
254    msgset->list = msglist;    msgset->list = msglist;
255    return 0;    return 0;

Legend:
Removed from v.1.1  
changed lines
  Added in v.1.2

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26