From: Francesco Chemolli Date: Sun, 28 Oct 2012 09:58:15 +0000 (-0600) Subject: Refactored tools/purge conffile reading to c++-streams X-Git-Tag: SQUID_3_2_4~42 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=3e23e81a73409d8a8cefd3128c0443ed7253c6c0;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 ba48d44a96..b1cddc29fb 100644 --- a/tools/purge/conffile.cc +++ b/tools/purge/conffile.cc @@ -48,6 +48,7 @@ #include #include #include +#include int readConfigFile( CacheDirVector& cachedir, const char* fn, FILE* debug ) @@ -61,8 +62,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; } @@ -84,7 +85,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 @@ -102,7 +103,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 { @@ -179,7 +180,7 @@ readConfigFile( CacheDirVector& cachedir, const char* fn, FILE* debug ) } } - fclose(in); + cfgin.close(); regfree(&rexp); return cachedir.size(); }