Changeset 306 for AE/Installer


Ignore:
Timestamp:
May 2, 2009, 6:34:23 PM (16 years ago)
Author:
gumby
Message:
 
Location:
AE/Installer/trunk/source
Files:
4 added
1 edited

Legend:

Unmodified
Added
Removed
  • AE/Installer/trunk/source/subs.cpp

    r298 r306  
    8282
    8383        string filename = "\0";
    84         string MODINFO_CFG = "\\Mod_Info.cfg";
    85 
    86 
    87 
    88         DIR *pdir;
    89         struct dirent *pent;
    90 
    91         pdir = opendir( path.c_str() ); //"." refers to the current dir
    92         if (!pdir){
    93                 printf ("\nopendir() failure; terminating");
    94                 exit(1);
    95         }
    96         errno=0;
    97 
    98         while (( pent = readdir(pdir) )){
    99 
    100                 filename = path + '\\' + pent->d_name + MODINFO_CFG;
    101                 file.open(filename.c_str());
     84        string MODINFO_CFG = "Mod_Info.cfg";
     85
     86        try
     87        {
     88
     89
     90        directory_iterator end_iter;
     91        for ( directory_iterator dir_itr( "./packages" );
     92                dir_itr != end_iter;
     93                ++dir_itr )
     94        {
     95
     96               
     97                file.open( (dir_itr->path().string() + "/" + MODINFO_CFG ).c_str());
    10298
    10399                //cout << filename << "\n";
     
    105101                if(!file.fail() )
    106102                {
    107                         //file.open(filename.c_str(), fstream::out);
    108 
    109                         //do stuff like adding to vector :P
    110 
     103                        cout << dir_itr->path().string() + MODINFO_CFG ;
    111104                        //would prefer to push a pointer to a package, but this will do for now
    112105                        packages.push_back( fileToModPackage(file) );
     
    116109                file.clear();
    117110
    118         }
    119 
    120 
    121         if (errno){
    122                 printf ("readdir() failure; terminating");
    123                 exit(1);
    124         }
    125         closedir(pdir);
    126 
     111
     112
     113        }
     114
     115
     116        }
     117        catch ( const std::exception & ex )
     118        {
     119                cout << "Warning, something odd happened!\n";
     120        }
    127121
    128122        return packages;
     
    376370                                catch( const std::exception & ex ) {
    377371                                        cout << "Warning, exception " << ex.what() << "!\n"
    378                                                 << "You probably need to reGlobalize.;
     372                                                << "You probably need to reGlobalize.";
    379373                                        create_directory( "./packages/VanillaDats" );
    380374                                }
Note: See TracChangeset for help on using the changeset viewer.