From a2cec5d71f2ed787ee6ca04f1b16c0f9453588c9 Mon Sep 17 00:00:00 2001 From: Kp Date: Sat, 23 Nov 2013 00:13:36 +0000 Subject: [PATCH] Switch PHYSFSX_fgets to auto-sized variant where possible --- common/include/physfsx.h | 6 +++++ common/ui/keypad.cpp | 4 ++-- common/ui/menubar.cpp | 2 +- d1x-rebirth/main/bmread.cpp | 2 +- d2x-rebirth/main/bmread.cpp | 2 +- similar/editor/med.cpp | 2 +- similar/main/credits.cpp | 2 +- similar/main/endlevel.cpp | 2 +- similar/main/gamesave.cpp | 4 ++-- similar/main/mission.cpp | 8 +++---- similar/main/piggy.cpp | 2 +- similar/main/playsave.cpp | 46 ++++++++++++++++++------------------- similar/main/songs.cpp | 3 +-- similar/misc/args.cpp | 2 +- 14 files changed, 46 insertions(+), 41 deletions(-) diff --git a/common/include/physfsx.h b/common/include/physfsx.h index 6b3bccee3..9f3bbfac6 100644 --- a/common/include/physfsx.h +++ b/common/include/physfsx.h @@ -191,6 +191,12 @@ static inline char * PHYSFSX_fgets(char *buf, size_t n, PHYSFS_file *const fp) return buf; } +template +static inline char * PHYSFSX_fgets(char (&buf)[n], PHYSFS_file *const fp) +{ + return PHYSFSX_fgets(buf, n, fp); +} + static inline int PHYSFSX_printf(PHYSFS_file *file, const char *format, ...) __attribute_format_printf(2, 3); static inline int PHYSFSX_printf(PHYSFS_file *file, const char *format, ...) { diff --git a/common/ui/keypad.cpp b/common/ui/keypad.cpp index af5c70143..6f742d780 100644 --- a/common/ui/keypad.cpp +++ b/common/ui/keypad.cpp @@ -330,7 +330,7 @@ void ui_pad_read( int n, const char * filename ) while ( linenumber < 22) { - PHYSFSX_fgets( buffer, 100, infile ); + PHYSFSX_fgets( buffer, infile ); switch( linenumber+1 ) { @@ -505,7 +505,7 @@ void ui_pad_read( int n, const char * filename ) // Get the keycodes... - while (PHYSFSX_fgets(line_buffer, 200, infile)) + while (PHYSFSX_fgets(line_buffer, infile)) { sscanf(line_buffer, " %s %s ", text, buffer); keycode = DecodeKeyText(text); diff --git a/common/ui/menubar.cpp b/common/ui/menubar.cpp index 9f8b764e1..3923fe049 100644 --- a/common/ui/menubar.cpp +++ b/common/ui/menubar.cpp @@ -778,7 +778,7 @@ void menubar_init( const char * file ) if (!infile) return; - while ( PHYSFSX_fgets( buffer, 200, infile) != NULL ) + while ( PHYSFSX_fgets( buffer, infile) != NULL ) { if ( buffer[0] == ';' ) continue; diff --git a/d1x-rebirth/main/bmread.cpp b/d1x-rebirth/main/bmread.cpp index 935560d9c..80b163386 100644 --- a/d1x-rebirth/main/bmread.cpp +++ b/d1x-rebirth/main/bmread.cpp @@ -390,7 +390,7 @@ int gamedata_read_tbl(int pc_shareware) PHYSFSX_fseek( InfoFile, 0L, SEEK_SET); - while (PHYSFSX_fgets(inputline, LINEBUF_SIZE, InfoFile)) { + while (PHYSFSX_fgets(inputline, InfoFile)) { int l; char *temp_ptr; int skip; diff --git a/d2x-rebirth/main/bmread.cpp b/d2x-rebirth/main/bmread.cpp index e8795e0ca..4563a4ec6 100644 --- a/d2x-rebirth/main/bmread.cpp +++ b/d2x-rebirth/main/bmread.cpp @@ -435,7 +435,7 @@ int gamedata_read_tbl(int pc_shareware) PHYSFSX_fseek( InfoFile, 0L, SEEK_SET); - while (PHYSFSX_fgets(inputline, LINEBUF_SIZE, InfoFile)) { + while (PHYSFSX_fgets(inputline, InfoFile)) { int l; char *temp_ptr; int skip; diff --git a/similar/editor/med.cpp b/similar/editor/med.cpp index 241b4dc8a..054689c2a 100644 --- a/similar/editor/med.cpp +++ b/similar/editor/med.cpp @@ -285,7 +285,7 @@ static void medkey_init() keyfile = PHYSFSX_openReadBuffered( "GLOBAL.KEY" ); if (keyfile) { - while (PHYSFSX_fgets(line_buffer, 200, keyfile)) + while (PHYSFSX_fgets(line_buffer, keyfile)) { sscanf(line_buffer, " %s %s ", keypress, LispCommand); //ReadLispMacro( keyfile, LispCommand ); diff --git a/similar/main/credits.cpp b/similar/main/credits.cpp index e337d166f..d57f406ce 100644 --- a/similar/main/credits.cpp +++ b/similar/main/credits.cpp @@ -114,7 +114,7 @@ static int credits_handler(window *wind, d_event *event, credits *cr) #if defined(DXX_BUILD_DESCENT_II) get_line:; #endif - if (PHYSFSX_fgets( cr->buffer[cr->buffer_line], 80, cr->file )) { + if (PHYSFSX_fgets( cr->buffer[cr->buffer_line], cr->file )) { char *p; if (cr->have_bin_file) // is this a binary tbl file decode_text_line (cr->buffer[cr->buffer_line]); diff --git a/similar/main/endlevel.cpp b/similar/main/endlevel.cpp index 344063eb4..5a5a8ddef 100644 --- a/similar/main/endlevel.cpp +++ b/similar/main/endlevel.cpp @@ -1445,7 +1445,7 @@ try_again: var = 0; - while (PHYSFSX_fgets(line,LINE_LEN,ifile)) { + while (PHYSFSX_fgets(line,ifile)) { if (have_binary) decode_text_line (line); diff --git a/similar/main/gamesave.cpp b/similar/main/gamesave.cpp index bec0885c4..29af968bc 100644 --- a/similar/main/gamesave.cpp +++ b/similar/main/gamesave.cpp @@ -832,7 +832,7 @@ static int load_game_data(PHYSFS_file *LoadFile) if (game_top_fileinfo_version >= 31) //load mine filename // read newline-terminated string, not sure what version this changed. - PHYSFSX_fgets(Current_level_name,sizeof(Current_level_name),LoadFile); + PHYSFSX_fgets(Current_level_name,LoadFile); else if (game_top_fileinfo_version >= 14) { //load mine filename // read null-terminated string char *p=Current_level_name; @@ -1359,7 +1359,7 @@ int load_level(const char * filename_passed) } if (Gamesave_current_version > 1) - PHYSFSX_fgets(Current_level_palette,sizeof(Current_level_palette),LoadFile); + PHYSFSX_fgets(Current_level_palette,LoadFile); if (Gamesave_current_version <= 1 || Current_level_palette[0]==0) // descent 1 level strcpy(Current_level_palette, DEFAULT_LEVEL_PALETTE); diff --git a/similar/main/mission.cpp b/similar/main/mission.cpp index 95a5f6350..2ac2516ca 100644 --- a/similar/main/mission.cpp +++ b/similar/main/mission.cpp @@ -339,7 +339,7 @@ static char *get_parm_value(const char *parm,PHYSFS_file *f) { static char buf[80]; - if (!PHYSFSX_fgets(buf,80,f)) + if (!PHYSFSX_fgets(buf,f)) return NULL; if (istok(buf,parm)) @@ -867,7 +867,7 @@ static int load_mission(mle *mission) snprintf(Ending_text_filename, sizeof(Ending_text_filename), "%s.txb",Current_mission_filename); } - while (PHYSFSX_fgets(buf,sizeof(buf),mfile)) { + while (PHYSFSX_fgets(buf,mfile)) { #if defined(DXX_BUILD_DESCENT_II) if (istok(buf,"name") && !Current_mission->enhanced) { Current_mission->enhanced = 0; @@ -956,7 +956,7 @@ static int load_mission(mle *mission) } for (i=0;i10){ unsigned char *p; diff --git a/similar/main/songs.cpp b/similar/main/songs.cpp index fc4b81a02..c89715386 100644 --- a/similar/main/songs.cpp +++ b/similar/main/songs.cpp @@ -107,9 +107,8 @@ static void songs_init() } else { - while (!PHYSFS_eof(fp)) + while (!PHYSFS_eof(fp) && PHYSFSX_fgets(inputline, fp)) { - PHYSFSX_fgets(inputline, sizeof(inputline), fp ); if ( strlen( inputline ) ) { BIMSongs = (struct bim_song_info *) d_realloc(BIMSongs, sizeof(bim_song_info)*(i+1)); diff --git a/similar/misc/args.cpp b/similar/misc/args.cpp index bb1d4bd3a..d5b4bacc1 100644 --- a/similar/misc/args.cpp +++ b/similar/misc/args.cpp @@ -80,7 +80,7 @@ static void AppendIniArgs(void) if(f) { char line[1024]; - while(!PHYSFS_eof(f) && Args.size() < MAX_ARGS && PHYSFSX_fgets(line, sizeof(line), f)) + while(!PHYSFS_eof(f) && Args.size() < MAX_ARGS && PHYSFSX_fgets(line, f)) { static const char separator[] = " "; for(char *token = strtok(line, separator); token != NULL; token = strtok(NULL, separator))