From: Francesco Chemolli Date: Fri, 26 Oct 2012 15:29:42 +0000 (+0200) Subject: Refactored tools/purge conffile reading to c++-streams X-Git-Tag: SQUID_3_4_0_1~550 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=446e1d78fc0cd57fcebfca90303bb58b013dad8e;p=thirdparty%2Fsquid.git Refactored tools/purge conffile reading to c++-streams --- diff --git a/tools/purge/conffile.cc b/tools/purge/conffile.cc index 1702de427e..07065bef74 100644 --- a/tools/purge/conffile.cc +++ b/tools/purge/conffile.cc @@ -45,6 +45,7 @@ #include #include #include +#include int readConfigFile( CacheDirVector& cachedir, const char* fn, FILE* debug ) @@ -58,8 +59,8 @@ readConfigFile( CacheDirVector& cachedir, const char* fn, FILE* debug ) // try to open file if ( debug ) fprintf( debug, "# trying to open %s\n", fn ? fn : "(null)" ); - FILE* in = fopen( fn, "r" ); - if ( in == NULL ) { + std::ifstream cfgin(fn); + if (cfgin) { fprintf( stderr, "fopen %s: %s\n", fn, strerror(errno) ); return -1; } @@ -81,7 +82,7 @@ readConfigFile( CacheDirVector& cachedir, const char* fn, FILE* debug ) regmatch_t subs[8]; char *s, line[1024]; CacheDir cd; - while ( fgets( line, sizeof(line), in ) ) { + while ( cfgin.getline( line, sizeof(line)) ) { // FIXME: overly long lines // terminate line at start of comment @@ -99,7 +100,7 @@ readConfigFile( CacheDirVector& cachedir, const char* fn, FILE* debug ) fprintf( stderr, "while matching \"%s\" against %s%s\n", expression, line, buffer ); regfree(&rexp); - fclose(in); + cfgin.close(); return -1; } } else { @@ -176,7 +177,7 @@ readConfigFile( CacheDirVector& cachedir, const char* fn, FILE* debug ) } } - fclose(in); + cfgin.close(); regfree(&rexp); return cachedir.size(); }