From 0a38cc3dc3948db2c84d554efae676057a14daf5 Mon Sep 17 00:00:00 2001 From: sezero Date: Sat, 24 Dec 2011 12:03:29 +0000 Subject: [PATCH] added FS_fgets(). From Sander van Dijk. git-svn-id: svn+ssh://svn.code.sf.net/p/quakespasm/code/trunk@541 af15c1b1-3010-417e-b628-4374ebc0bcbd --- quakespasm/Quake/common.c | 16 ++++++++++++++++ quakespasm/Quake/common.h | 1 + 2 files changed, 17 insertions(+) diff --git a/quakespasm/Quake/common.c b/quakespasm/Quake/common.c index 67904323..ad880bd2 100644 --- a/quakespasm/Quake/common.c +++ b/quakespasm/Quake/common.c @@ -2084,3 +2084,19 @@ int FS_ferror(fshandle_t *fh) return ferror(fh->file); } +char *FS_fgets(char *s, int size, fshandle_t *fh) +{ + char *ret; + + if (FS_feof(fh)) + return NULL; + + if (size > (fh->length - fh->pos) + 1) + size = (fh->length - fh->pos) + 1; + + ret = fgets(s, size, fh->file); + fh->pos = ftell(fh->file) - fh->start; + + return ret; +} + diff --git a/quakespasm/Quake/common.h b/quakespasm/Quake/common.h index c47848af..2c1a867d 100644 --- a/quakespasm/Quake/common.h +++ b/quakespasm/Quake/common.h @@ -242,6 +242,7 @@ void FS_rewind(fshandle_t *fh); int FS_feof(fshandle_t *fh); int FS_ferror(fshandle_t *fh); int FS_fclose(fshandle_t *fh); +char *FS_fgets(char *s, int size, fshandle_t *fh); extern struct cvar_s registered;