cline.c

changeset 4
c3acfb3b4957
parent 3
510d6b198dde
child 5
9393eff3d2f9
     1.1 --- a/cline.c	Thu May 26 14:39:52 2011 +0200
     1.2 +++ b/cline.c	Fri May 27 12:49:33 2011 +0200
     1.3 @@ -12,6 +12,15 @@
     1.4    settings->recursive          = false;
     1.5    settings->includeSuffixes    = false;
     1.6    settings->matchesOnly        = false;
     1.7 +  
     1.8 +  return settings;
     1.9 +}
    1.10 +
    1.11 +void destroy_settings_t(settings_t* settings) {
    1.12 +  if (settings->suffixv != NULL) {
    1.13 +    free(settings->suffixv);
    1.14 +  }
    1.15 +  free(settings);
    1.16  }
    1.17  
    1.18  void printHelpText(const char* prgName) {
    1.19 @@ -177,13 +186,13 @@
    1.20    DIR *dir = opendir(directory);
    1.21    if (dir == NULL) {
    1.22      perror("Operation failed");
    1.23 -    free(settings->suffixv);
    1.24 -    free(settings);
    1.25 +    destroy_settings_t(settings);
    1.26      return 1;
    1.27    }
    1.28    
    1.29    // Scan directory
    1.30    int lines = scanDirectory(dir, 0, directory, settings);
    1.31 +  closedir(dir);
    1.32  
    1.33    // Print double line and line count
    1.34    #ifdef _WIN32
    1.35 @@ -201,8 +210,6 @@
    1.36      printf("\n%74d lines\n", lines);
    1.37    #endif /* _WIN32 */
    1.38  
    1.39 -  closedir(dir);
    1.40 -  free(settings->suffixv);
    1.41 -  free(settings);
    1.42 +  destroy_settings_t(settings);
    1.43    return 0;
    1.44  }

mercurial