Author: nick
Date: 2008-09-13 09:17:51 +0000 (Sat, 13 Sep 2008)
New Revision: 27853

Modified:
   mousepad/branches/xfce_4_4/src/main.c
Log:
Commit patch from bug #2784, is already in trunk for some time

Modified: mousepad/branches/xfce_4_4/src/main.c
===================================================================
--- mousepad/branches/xfce_4_4/src/main.c       2008-09-12 21:29:22 UTC (rev 
27852)
+++ mousepad/branches/xfce_4_4/src/main.c       2008-09-13 09:17:51 UTC (rev 
27853)
@@ -65,22 +65,43 @@
                return -1;
        
        /* version num */
-       fgets(buf, sizeof(buf), fp);
+       if (!fgets(buf, sizeof(buf), fp)) return -1;
        num = g_strsplit(buf, "." , 3);
        if ((atoi(num[1]) >= 1) && (atoi(num[2]) >= 0)) {
-               fgets(buf, sizeof(buf), fp);
-               sd->conf.width = atoi(buf);
-               fgets(buf, sizeof(buf), fp);
-               sd->conf.height = atoi(buf);
-               fgets(buf, sizeof(buf), fp);
+               if (!fgets(buf, sizeof(buf), fp)) return -1;
+               if (buf[0] >= '0' && buf[0] <= '9')
+                       sd->conf.width = atoi(buf);
+               else
+                       return -1;
+
+               if (!fgets(buf, sizeof(buf), fp)) return -1;
+               if (buf[0] >= '0' && buf[0] <= '9')
+                       sd->conf.height = atoi(buf);
+               else
+                       return -1;
+
+               if (!fgets(buf, sizeof(buf), fp)) return -1;
                sd->conf.fontname = g_strdup(buf);
-               fgets(buf, sizeof(buf), fp);
-               sd->conf.wordwrap = atoi(buf);
-               fgets(buf, sizeof(buf), fp);
-               sd->conf.linenumbers = atoi(buf);
-               fgets(buf, sizeof(buf), fp);
-               sd->conf.autoindent = atoi(buf);
-               fgets(buf, sizeof(buf), fp);
+
+               if (!fgets(buf, sizeof(buf), fp)) return -1;
+               if (buf[0] >= '0' && buf[0] <= '1')
+                       sd->conf.wordwrap = atoi(buf);
+               else
+                       return -1;
+
+               if (!fgets(buf, sizeof(buf), fp)) return -1;
+               if (buf[0] >= '0' && buf[0] <= '1')
+                       sd->conf.linenumbers = atoi(buf);
+               else
+                       return -1;
+
+               if (!fgets(buf, sizeof(buf), fp)) return -1;
+               if (buf[0] >= '0' && buf[0] <= '1')
+                       sd->conf.autoindent = atoi(buf);
+               else
+                       return -1;
+
+               if (!fgets(buf, sizeof(buf), fp)) return -1;
                if (strcmp(buf, "0") != 0)
                        sd->conf.charset = g_strdup(buf);
        }

_______________________________________________
Xfce4-commits mailing list
[email protected]
http://foo-projects.org/mailman/listinfo/xfce4-commits

Reply via email to