1/* mpq_clears() -- Clear multiple mpq_t variables.
2
3Copyright 2009 Free Software Foundation, Inc.
4
5This file is part of the GNU MP Library.
6
7The GNU MP Library is free software; you can redistribute it and/or modify
8it under the terms of the GNU Lesser General Public License as published by
9the Free Software Foundation; either version 3 of the License, or (at your
10option) any later version.
11
12The GNU MP Library is distributed in the hope that it will be useful, but
13WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
14or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU Lesser General Public
15License for more details.
16
17You should have received a copy of the GNU Lesser General Public License
18along with the GNU MP Library.  If not, see http://www.gnu.org/licenses/.  */
19
20#include "config.h"
21
22#if HAVE_STDARG
23#include <stdarg.h>
24#else
25#include <varargs.h>
26#endif
27
28#include <stdio.h>		/* for NULL */
29#include "gmp.h"
30#include "gmp-impl.h"
31
32void
33#if HAVE_STDARG
34mpq_clears (mpq_ptr x, ...)
35#else
36mpq_clears (va_alist)
37     va_dcl
38#endif
39{
40  va_list  ap;
41
42#if HAVE_STDARG
43  va_start (ap, x);
44#else
45  mpq_ptr x;
46  va_start (ap);
47  x = va_arg (ap, mpq_ptr);
48#endif
49
50  while (x != NULL)
51    {
52      mpq_clear (x);
53      x = va_arg (ap, mpq_ptr);
54    }
55  va_end (ap);
56}
57