update year in copyright info
[xboard.git] / winboard / winboard.c
index 1e65185..6b9e854 100644 (file)
@@ -5,7 +5,7 @@
  * Massachusetts. \r
  *\r
  * Enhancements Copyright 1992-2001, 2002, 2003, 2004, 2005, 2006,\r
- * 2007, 2008, 2009 Free Software Foundation, Inc.\r
+ * 2007, 2008, 2009, 2010 Free Software Foundation, Inc.\r
  *\r
  * Enhancements Copyright 2005 Alessandro Scotti\r
  *\r
@@ -1462,6 +1462,15 @@ ExitArgError(char *msg, char *badArg)
   exit(2);\r
 }\r
 \r
+int\r
+ValidateInt(char *s)\r
+{\r
+  char *p = s;\r
+  if(*p == '-' || *p == '+') p++;\r
+  while(*p) if(!isdigit(*p++)) ExitArgError("Bad integer value", s);\r
+  return atoi(s);\r
+}\r
+\r
 /* Command line font name parser.  NULL name means do nothing.\r
    Syntax like "Courier New:10.0 bi" or "Arial:10" or "Arial:10b"\r
    For backward compatibility, syntax without the colon is also\r
@@ -1773,19 +1782,19 @@ ParseArgs(GetFunc get, void *cl)
 \r
     switch (ad->argType) {\r
     case ArgInt:\r
-      *(int *) ad->argLoc = atoi(argValue);\r
+      *(int *) ad->argLoc = ValidateInt(argValue);\r
       break;\r
 \r
     case ArgX:\r
-      *(int *) ad->argLoc = atoi(argValue) + boardX; // [HGM] placement: translate stored relative to absolute \r
+      *(int *) ad->argLoc = ValidateInt(argValue) + boardX; // [HGM] placement: translate stored relative to absolute \r
       break;\r
 \r
     case ArgY:\r
-      *(int *) ad->argLoc = atoi(argValue) + boardY; // (this is really kludgey, it should be done where used...)\r
+      *(int *) ad->argLoc = ValidateInt(argValue) + boardY; // (this is really kludgey, it should be done where used...)\r
       break;\r
 \r
     case ArgZ:\r
-      *(int *) ad->argLoc = atoi(argValue);\r
+      *(int *) ad->argLoc = ValidateInt(argValue);\r
       EnsureOnScreen(&boardX, &boardY, minX, minY); \r
       break;\r
 \r
@@ -3286,6 +3295,8 @@ InitDrawingSizes(BoardSize boardSize, int flags)
     blackRect.right = blackRect.left + boardWidth/2 - 1;\r
     blackRect.top = whiteRect.top;\r
     blackRect.bottom = whiteRect.bottom;\r
+\r
+    logoHeight = 0; // [HGM] logo: suppress logo after change to tiny layout!\r
   }\r
 \r
   messageRect.left = OUTER_MARGIN + MESSAGE_LINE_LEFTMARGIN;\r