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)
char *fs_gets(char *dst, int count, fs_file fh)
{
char *s = dst;
- char *cr = NULL;
int c;
assert(dst);
*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++;
}