Group key config symbols together
[neverball] / share / fs.c
index 30fd1c2..fd75cbf 100644 (file)
@@ -26,7 +26,13 @@ struct fs_file
 
 int fs_init(const char *argv0)
 {
-    return PHYSFS_init(argv0);
+    if (PHYSFS_init(argv0))
+    {
+        PHYSFS_permitSymbolicLinks(1);
+        return 1;
+    }
+
+    return 0;
 }
 
 int fs_quit(void)
@@ -295,7 +301,6 @@ int fs_puts(const char *src, fs_file fh)
 char *fs_gets(char *dst, int count, fs_file fh)
 {
     char *s = dst;
-    char *cr = NULL;
     int c;
 
     assert(dst);
@@ -310,22 +315,21 @@ char *fs_gets(char *dst, int count, fs_file fh)
 
         *s = c;
 
-        /* Normalize possible CRLF and break. */
+        /* Keep a newline and break. */
 
         if (*s == '\n')
         {
-            if (cr + 1 == s)
-                *cr = '\n';
-            else
-                s++;
-
+            s++;
             break;
         }
 
-        /* Note carriage return. */
+        /* Ignore carriage returns. */
 
         if (*s == '\r')
-            cr = s;
+        {
+            count++;
+            s--;
+        }
 
         s++;
     }