aboutsummaryrefslogtreecommitdiffstats
path: root/src/data.c
diff options
context:
space:
mode:
authorPaul Eggert2011-03-26 19:12:36 -0700
committerPaul Eggert2011-03-26 19:12:36 -0700
commitc5101a77a4066d979698d356c3a9c7f387007359 (patch)
tree0d18e8940a4fac6092a98a07bcc625bd29e67179 /src/data.c
parentdd3f25f792d724f59fac3e2d4faa21b311f21137 (diff)
downloademacs-c5101a77a4066d979698d356c3a9c7f387007359.tar.gz
emacs-c5101a77a4066d979698d356c3a9c7f387007359.zip
Variadic C functions now count arguments with size_t, not int.
Diffstat (limited to 'src/data.c')
-rw-r--r--src/data.c31
1 files changed, 16 insertions, 15 deletions
diff --git a/src/data.c b/src/data.c
index 01aafbcede4..0a5ce52c95f 100644
--- a/src/data.c
+++ b/src/data.c
@@ -2474,13 +2474,13 @@ enum arithop
2474 Amin 2474 Amin
2475 }; 2475 };
2476 2476
2477static Lisp_Object float_arith_driver (double, int, enum arithop, 2477static Lisp_Object float_arith_driver (double, size_t, enum arithop,
2478 int, Lisp_Object *); 2478 size_t, Lisp_Object *);
2479static Lisp_Object 2479static Lisp_Object
2480arith_driver (enum arithop code, int nargs, register Lisp_Object *args) 2480arith_driver (enum arithop code, size_t nargs, register Lisp_Object *args)
2481{ 2481{
2482 register Lisp_Object val; 2482 register Lisp_Object val;
2483 register int argnum; 2483 register size_t argnum;
2484 register EMACS_INT accum = 0; 2484 register EMACS_INT accum = 0;
2485 register EMACS_INT next; 2485 register EMACS_INT next;
2486 2486
@@ -2562,7 +2562,8 @@ arith_driver (enum arithop code, int nargs, register Lisp_Object *args)
2562#define isnan(x) ((x) != (x)) 2562#define isnan(x) ((x) != (x))
2563 2563
2564static Lisp_Object 2564static Lisp_Object
2565float_arith_driver (double accum, register int argnum, enum arithop code, int nargs, register Lisp_Object *args) 2565float_arith_driver (double accum, register size_t argnum, enum arithop code,
2566 size_t nargs, register Lisp_Object *args)
2566{ 2567{
2567 register Lisp_Object val; 2568 register Lisp_Object val;
2568 double next; 2569 double next;
@@ -2624,7 +2625,7 @@ float_arith_driver (double accum, register int argnum, enum arithop code, int na
2624DEFUN ("+", Fplus, Splus, 0, MANY, 0, 2625DEFUN ("+", Fplus, Splus, 0, MANY, 0,
2625 doc: /* Return sum of any number of arguments, which are numbers or markers. 2626 doc: /* Return sum of any number of arguments, which are numbers or markers.
2626usage: (+ &rest NUMBERS-OR-MARKERS) */) 2627usage: (+ &rest NUMBERS-OR-MARKERS) */)
2627 (int nargs, Lisp_Object *args) 2628 (size_t nargs, Lisp_Object *args)
2628{ 2629{
2629 return arith_driver (Aadd, nargs, args); 2630 return arith_driver (Aadd, nargs, args);
2630} 2631}
@@ -2634,7 +2635,7 @@ DEFUN ("-", Fminus, Sminus, 0, MANY, 0,
2634With one arg, negates it. With more than one arg, 2635With one arg, negates it. With more than one arg,
2635subtracts all but the first from the first. 2636subtracts all but the first from the first.
2636usage: (- &optional NUMBER-OR-MARKER &rest MORE-NUMBERS-OR-MARKERS) */) 2637usage: (- &optional NUMBER-OR-MARKER &rest MORE-NUMBERS-OR-MARKERS) */)
2637 (int nargs, Lisp_Object *args) 2638 (size_t nargs, Lisp_Object *args)
2638{ 2639{
2639 return arith_driver (Asub, nargs, args); 2640 return arith_driver (Asub, nargs, args);
2640} 2641}
@@ -2642,7 +2643,7 @@ usage: (- &optional NUMBER-OR-MARKER &rest MORE-NUMBERS-OR-MARKERS) */)
2642DEFUN ("*", Ftimes, Stimes, 0, MANY, 0, 2643DEFUN ("*", Ftimes, Stimes, 0, MANY, 0,
2643 doc: /* Return product of any number of arguments, which are numbers or markers. 2644 doc: /* Return product of any number of arguments, which are numbers or markers.
2644usage: (* &rest NUMBERS-OR-MARKERS) */) 2645usage: (* &rest NUMBERS-OR-MARKERS) */)
2645 (int nargs, Lisp_Object *args) 2646 (size_t nargs, Lisp_Object *args)
2646{ 2647{
2647 return arith_driver (Amult, nargs, args); 2648 return arith_driver (Amult, nargs, args);
2648} 2649}
@@ -2651,9 +2652,9 @@ DEFUN ("/", Fquo, Squo, 2, MANY, 0,
2651 doc: /* Return first argument divided by all the remaining arguments. 2652 doc: /* Return first argument divided by all the remaining arguments.
2652The arguments must be numbers or markers. 2653The arguments must be numbers or markers.
2653usage: (/ DIVIDEND DIVISOR &rest DIVISORS) */) 2654usage: (/ DIVIDEND DIVISOR &rest DIVISORS) */)
2654 (int nargs, Lisp_Object *args) 2655 (size_t nargs, Lisp_Object *args)
2655{ 2656{
2656 int argnum; 2657 size_t argnum;
2657 for (argnum = 2; argnum < nargs; argnum++) 2658 for (argnum = 2; argnum < nargs; argnum++)
2658 if (FLOATP (args[argnum])) 2659 if (FLOATP (args[argnum]))
2659 return float_arith_driver (0, 0, Adiv, nargs, args); 2660 return float_arith_driver (0, 0, Adiv, nargs, args);
@@ -2735,7 +2736,7 @@ DEFUN ("max", Fmax, Smax, 1, MANY, 0,
2735 doc: /* Return largest of all the arguments (which must be numbers or markers). 2736 doc: /* Return largest of all the arguments (which must be numbers or markers).
2736The value is always a number; markers are converted to numbers. 2737The value is always a number; markers are converted to numbers.
2737usage: (max NUMBER-OR-MARKER &rest NUMBERS-OR-MARKERS) */) 2738usage: (max NUMBER-OR-MARKER &rest NUMBERS-OR-MARKERS) */)
2738 (int nargs, Lisp_Object *args) 2739 (size_t nargs, Lisp_Object *args)
2739{ 2740{
2740 return arith_driver (Amax, nargs, args); 2741 return arith_driver (Amax, nargs, args);
2741} 2742}
@@ -2744,7 +2745,7 @@ DEFUN ("min", Fmin, Smin, 1, MANY, 0,
2744 doc: /* Return smallest of all the arguments (which must be numbers or markers). 2745 doc: /* Return smallest of all the arguments (which must be numbers or markers).
2745The value is always a number; markers are converted to numbers. 2746The value is always a number; markers are converted to numbers.
2746usage: (min NUMBER-OR-MARKER &rest NUMBERS-OR-MARKERS) */) 2747usage: (min NUMBER-OR-MARKER &rest NUMBERS-OR-MARKERS) */)
2747 (int nargs, Lisp_Object *args) 2748 (size_t nargs, Lisp_Object *args)
2748{ 2749{
2749 return arith_driver (Amin, nargs, args); 2750 return arith_driver (Amin, nargs, args);
2750} 2751}
@@ -2753,7 +2754,7 @@ DEFUN ("logand", Flogand, Slogand, 0, MANY, 0,
2753 doc: /* Return bitwise-and of all the arguments. 2754 doc: /* Return bitwise-and of all the arguments.
2754Arguments may be integers, or markers converted to integers. 2755Arguments may be integers, or markers converted to integers.
2755usage: (logand &rest INTS-OR-MARKERS) */) 2756usage: (logand &rest INTS-OR-MARKERS) */)
2756 (int nargs, Lisp_Object *args) 2757 (size_t nargs, Lisp_Object *args)
2757{ 2758{
2758 return arith_driver (Alogand, nargs, args); 2759 return arith_driver (Alogand, nargs, args);
2759} 2760}
@@ -2762,7 +2763,7 @@ DEFUN ("logior", Flogior, Slogior, 0, MANY, 0,
2762 doc: /* Return bitwise-or of all the arguments. 2763 doc: /* Return bitwise-or of all the arguments.
2763Arguments may be integers, or markers converted to integers. 2764Arguments may be integers, or markers converted to integers.
2764usage: (logior &rest INTS-OR-MARKERS) */) 2765usage: (logior &rest INTS-OR-MARKERS) */)
2765 (int nargs, Lisp_Object *args) 2766 (size_t nargs, Lisp_Object *args)
2766{ 2767{
2767 return arith_driver (Alogior, nargs, args); 2768 return arith_driver (Alogior, nargs, args);
2768} 2769}
@@ -2771,7 +2772,7 @@ DEFUN ("logxor", Flogxor, Slogxor, 0, MANY, 0,
2771 doc: /* Return bitwise-exclusive-or of all the arguments. 2772 doc: /* Return bitwise-exclusive-or of all the arguments.
2772Arguments may be integers, or markers converted to integers. 2773Arguments may be integers, or markers converted to integers.
2773usage: (logxor &rest INTS-OR-MARKERS) */) 2774usage: (logxor &rest INTS-OR-MARKERS) */)
2774 (int nargs, Lisp_Object *args) 2775 (size_t nargs, Lisp_Object *args)
2775{ 2776{
2776 return arith_driver (Alogxor, nargs, args); 2777 return arith_driver (Alogxor, nargs, args);
2777} 2778}