示例#1
0
文件: rfbregion.c 项目: DjCBS3/vino
static sraSpanList *
sraSpanListDup(const sraSpanList *src) {
  sraSpanList *newlist;
  sraSpan *newspan, *curr;

  if (!src) return NULL;
  newlist = sraSpanListCreate();
  curr = src->front._next;
  while (curr != &(src->back)) {
    newspan = sraSpanDup(curr);
    sraSpanInsertBefore(newspan, &(newlist->back));
    curr = curr->_next;
  }

  return newlist;
}
示例#2
0
sraSpanList *
sraSpanListDup(const sraSpanList *src)
{
    sraSpanList *newlist;
    sraSpan *newspan, *curr;

    if (IsBadReadPtr(src,sizeof(sraSpan))) return NULL;
    newlist = sraSpanListCreate();
    curr = src->front._next;
    while ((curr != &(src->back)) && (!IsBadReadPtr(curr,sizeof(sraSpan))))
    {
        newspan = sraSpanDup(curr);
        sraSpanInsertBefore(newspan, &(newlist->back));
        curr = curr->_next;
    }

    return newlist;
}