1111#include < string>
1212#include < cmath>
1313#include < iomanip>
14- #include < stdlib.h >
14+ #include < cstdlib >
1515#include < stdexcept>
1616#include < list>
1717#include < string>
@@ -170,8 +170,6 @@ static void collectFilenames( list<string>& inputFiles, const boost::filesystem:
170170
171171SiftJob* process_image ( const string& inputFile, PopSift& PopSift )
172172{
173- int w;
174- int h;
175173 SiftJob* job;
176174 unsigned char * image_data;
177175
@@ -195,8 +193,8 @@ SiftJob* process_image( const string& inputFile, PopSift& PopSift )
195193 cerr << " Failed converting image " << inputFile << " to unsigned greyscale image" << endl;
196194 exit ( -1 );
197195 }
198- w = img.Width ();
199- h = img.Height ();
196+ const auto w = img.Width ();
197+ const auto h = img.Height ();
200198 cout << " Loading " << w << " x " << h << " image " << inputFile << endl;
201199
202200 image_data = img.GetData ();
@@ -211,10 +209,11 @@ SiftJob* process_image( const string& inputFile, PopSift& PopSift )
211209#endif
212210 {
213211 nvtxRangePushA ( " load and convert image - pgmread" );
214-
212+ int w{};
213+ int h{};
215214 image_data = readPGMfile ( inputFile, w, h );
216- if ( image_data == 0 ) {
217- exit ( - 1 );
215+ if ( image_data == nullptr ) {
216+ exit ( EXIT_FAILURE );
218217 }
219218
220219 nvtxRangePop ( ); // "load and convert image - pgmread"
@@ -228,7 +227,7 @@ SiftJob* process_image( const string& inputFile, PopSift& PopSift )
228227 }
229228 else
230229 {
231- float * f_image_data = new float [w * h];
230+ auto f_image_data = new float [w * h];
232231 for ( int i=0 ; i<w*h; i++ )
233232 {
234233 f_image_data[i] = float ( image_data[i] ) / 256 .0f ;
@@ -269,16 +268,15 @@ int main(int argc, char **argv)
269268
270269 popsift::Config config;
271270 list<string> inputFiles;
272- string inputFile = " " ;
273- const char * appName = argv[0 ];
271+ string inputFile{};
274272
275273 try {
276274 parseargs ( argc, argv, config, inputFile ); // Parse command line
277275 std::cout << inputFile << std::endl;
278276 }
279277 catch (std::exception& e) {
280278 std::cout << e.what () << std::endl;
281- exit ( 1 ) ;
279+ return EXIT_FAILURE ;
282280 }
283281
284282 if ( boost::filesystem::exists ( inputFile ) ) {
@@ -287,13 +285,13 @@ int main(int argc, char **argv)
287285 collectFilenames ( inputFiles, inputFile );
288286 if ( inputFiles.empty () ) {
289287 cerr << " No files in directory, nothing to do" << endl;
290- exit ( 0 ) ;
288+ return EXIT_SUCCESS ;
291289 }
292290 } else if ( boost::filesystem::is_regular_file ( inputFile ) ) {
293291 inputFiles.push_back ( inputFile );
294292 } else {
295293 cout << " Input file is neither regular file nor directory, nothing to do" << endl;
296- exit ( - 1 ) ;
294+ return EXIT_FAILURE ;
297295 }
298296 }
299297
@@ -306,10 +304,9 @@ int main(int argc, char **argv)
306304 float_mode ? PopSift::FloatImages : PopSift::ByteImages );
307305
308306 std::queue<SiftJob*> jobs;
309- for ( auto it = inputFiles.begin (); it!=inputFiles.end (); it++ ) {
310- inputFile = it->c_str ();
311-
312- SiftJob* job = process_image ( inputFile, PopSift );
307+ for (const auto & currFile : inputFiles)
308+ {
309+ SiftJob* job = process_image ( currFile, PopSift );
313310 jobs.push ( job );
314311 }
315312
@@ -324,5 +321,7 @@ int main(int argc, char **argv)
324321 }
325322
326323 PopSift.uninit ( );
324+
325+ return EXIT_SUCCESS;
327326}
328327
0 commit comments