Improve previous fix for PR 12858 (LAG).
authorBen Pfaff <blp@gnu.org>
Fri, 29 Apr 2005 01:58:28 +0000 (01:58 +0000)
committerBen Pfaff <blp@gnu.org>
Fri, 29 Apr 2005 01:58:28 +0000 (01:58 +0000)
src/ChangeLog
src/expressions/parse.c

index 9259c9f90b77d6038e77639b331793bb5f50c782..00bb94316f568d41a1c9a0a43a58f585a6f61362 100644 (file)
@@ -1,3 +1,7 @@
+Thu Apr 28 18:52:06 2005  Ben Pfaff  <blp@gnu.org>
+
+       * expressions/parse.c: Improve previous fix for PR 12858 (LAG).
+
 Fri Apr 29 09:28:00 WST 2005 John Darrington <john@darrington.wattle.id.au>
 
        * expressions/parse.c: Added handler for OP_LAG_Vn and OP_LAG_Vs.  
index 0abfbb8a50389a161a4449127981a9f687b269de..7af90feb9b530c40634ae845e3411c89ac2cd7d8 100644 (file)
@@ -1204,15 +1204,18 @@ parse_function (struct expression *e)
   n = expr_allocate_composite (e, f - operations, args, arg_cnt);
   n->composite.min_valid = min_valid != -1 ? min_valid : f->array_min_elems; 
 
-  if (n->type == OP_LAG_Vn || n->type == OP_LAG_Vs)
-      n_lag = 1;
+  if (n->type == OP_LAG_Vn || n->type == OP_LAG_Vs) 
+    {
+      if (n_lag < 1)
+        n_lag = 1; 
+    }
   else if (n->type == OP_LAG_Vnn || n->type == OP_LAG_Vsn)
     {
       int n_before;
       assert (n->composite.arg_cnt == 2);
       assert (n->composite.args[1]->type == OP_pos_int);
       n_before = n->composite.args[1]->integer.i;
-      if (n_before > n_lag)
+      if (n_lag < n_before)
         n_lag = n_before;
     }