X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Flibpspp%2Fdeque.c;h=a511cf3ad0e2a10b860dfe65896dc03ef6ab7418;hb=5cc8d996ceb67400912b46199ae658cdfbfea180;hp=0d73761cc088b6d9bc262c49c8a1543c2e173d51;hpb=f5c108becd49d78f4898cab11352291f5689d24e;p=pspp diff --git a/src/libpspp/deque.c b/src/libpspp/deque.c index 0d73761cc0..a511cf3ad0 100644 --- a/src/libpspp/deque.c +++ b/src/libpspp/deque.c @@ -1,28 +1,27 @@ -/* PSPP - computes sample statistics. - Copyright (C) 2007 Free Software Foundation, Inc. +/* PSPP - a program for statistical analysis. + Copyright (C) 2007, 2011 Free Software Foundation, Inc. - This program is free software; you can redistribute it and/or - modify it under the terms of the GNU General Public License as - published by the Free Software Foundation; either version 2 of the - License, or (at your option) any later version. + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. - This program is distributed in the hope that it will be useful, but - WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - General Public License for more details. + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. */ + along with this program. If not, see . */ #include -#include +#include "libpspp/deque.h" + #include -#include "minmax.h" -#include "xalloc.h" +#include "gl/minmax.h" +#include "gl/xalloc.h" /* Initializes DEQUE as an empty deque with an initial capacity of zero. */ @@ -61,15 +60,15 @@ deque_expand (struct deque *deque, void *old_data_, size_t elem_size) size_t new_capacity = MAX (4, old_capacity * 2); char *old_data = old_data_; char *new_data = xnmalloc (new_capacity, elem_size); - size_t idx, copy_cnt; - for (idx = deque->back; idx != deque->front; idx += copy_cnt) + size_t idx, n_copy; + for (idx = deque->back; idx != deque->front; idx += n_copy) { size_t can_copy = old_capacity - (idx & (old_capacity - 1)); size_t want_copy = deque->front - idx; - copy_cnt = MIN (can_copy, want_copy); + n_copy = MIN (can_copy, want_copy); memcpy (new_data + (idx & (new_capacity - 1)) * elem_size, old_data + (idx & (old_capacity - 1)) * elem_size, - copy_cnt * elem_size); + n_copy * elem_size); } deque->capacity = new_capacity; free (old_data);