From: Ben Pfaff Date: Sun, 6 Jun 2010 19:23:33 +0000 (-0700) Subject: expressions: Improve error message for bad quarter argument to DATE.QYR. X-Git-Tag: sav-api~198 X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=b5249f4441110eaf24223166a5a6c9f7bf71faa7;p=pspp expressions: Improve error message for bad quarter argument to DATE.QYR. The error message issued by DATE.QYR for an invalid "quarter" argument referred instead to a "month" value. This makes the error message more understandable. --- diff --git a/src/language/expressions/operations.def b/src/language/expressions/operations.def index d3044043df..531d6b312a 100644 --- a/src/language/expressions/operations.def +++ b/src/language/expressions/operations.def @@ -1,7 +1,7 @@ // -*- c -*- // // PSPP - a program for statistical analysis. -// Copyright (C) 2005, 2006, 2009 Free Software Foundation, Inc. +// Copyright (C) 2005, 2006, 2009, 2010 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 @@ -291,7 +291,15 @@ function CTIME.SECONDS (time) = time; function DATE.DMY (d, m, y) = expr_ymd_to_date (y, m, d); function DATE.MDY (m, d, y) = expr_ymd_to_date (y, m, d); function DATE.MOYR (m, y) = expr_ymd_to_date (y, m, 1); -function DATE.QYR (q, y) = expr_ymd_to_date (y, q * 3 - 2, 1); +function DATE.QYR (q, y) +{ + if (q < 1.0 || q > 4.0 || q != (int) q) + { + msg (SW, _("The first argument to DATE.QYR must be 1, 2, 3, or 4.")); + return SYSMIS; + } + return expr_ymd_to_date (y, q * 3 - 2, 1); +} function DATE.WKYR (w, y) = expr_wkyr_to_date (w, y); function DATE.YRDAY (y, yday) = expr_yrday_to_date (y, yday); function YRMODA (y, m, d) = expr_yrmoda (y, m, d);