------------------------------------------------------------ revno: 12377 revision-id: squid3@treenet.co.nz-20121028053157-mnhybqu113epwpk9 parent: squid3@treenet.co.nz-20121028053058-erpefntozmagnb1y author: Francesco Chemolli committer: Amos Jeffries branch nick: 3.3 timestamp: Sat 2012-10-27 23:31:57 -0600 message: Refactored tools/purge conffile reading to c++-streams ------------------------------------------------------------ # Bazaar merge directive format 2 (Bazaar 0.90) # revision_id: squid3@treenet.co.nz-20121028053157-mnhybqu113epwpk9 # target_branch: http://bzr.squid-cache.org/bzr/squid3/3.3 # testament_sha1: 4bd931ae8c6be04b357c6ce46ecae8d1409fe8d6 # timestamp: 2012-10-28 05:55:51 +0000 # source_branch: http://bzr.squid-cache.org/bzr/squid3/3.3 # base_revision_id: squid3@treenet.co.nz-20121028053058-\ # erpefntozmagnb1y # # Begin patch === modified file 'tools/purge/conffile.cc' --- tools/purge/conffile.cc 2012-10-04 11:10:17 +0000 +++ tools/purge/conffile.cc 2012-10-28 05:31:57 +0000 @@ -45,6 +45,7 @@ #include #include #include +#include int readConfigFile( CacheDirVector& cachedir, const char* fn, FILE* debug ) @@ -58,8 +59,8 @@ // 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 @@ 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 @@ 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 @@ } } - fclose(in); + cfgin.close(); regfree(&rexp); return cachedir.size(); }