Ignore:
Timestamp:
Jun 1, 2010, 3:13:59 PM (15 years ago)
Author:
iritscen
Message:

Fixing (hopefully) update bug stemming from extra return characters (\r) messing up string comparisons.
Converting #defined installer version global to static string just to be safe (what was I thinking?).

Location:
AE/Installer/trunk/source
Files:
4 edited

Legend:

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

    r548 r565  
    112112       
    113113        string aboutText = "AE Installer v";
    114         aboutText = aboutText + INSTALLER_VERSION;
     114        aboutText = aboutText + gInstallerVersion;
    115115        aboutText = aboutText + "\nby Gumby and Iritscen\n\n" +
    116116                                                        "AE Credits:\n" +
  • AE/Installer/trunk/source/globals.h

    r553 r565  
    4040using namespace std;
    4141
    42 //#pragma mark DEFINES
    43 #define INSTALLER_VERSION                "1.1" // only place in source we need to change this
    4442#define UPDATE_LOG_READ_ERR             -1
    4543#define UPDATE_INST_REPL_ERR    -2
     
    5149#define UPDATE_CONT_UPD                  4
    5250#define UPDATE_PKG_AVAIL                 5
    53 //#pragma mark STRUCTS
     51
    5452struct ModPackage
    5553{
     
    9189};
    9290
    93 
    94 //#pragma mark PROTOTYPES
    9591void recompileAll(vector<string>);
    9692int globalizeData(void);
     
    106102void copy_directory(const path &from_dir_ph, const path &to_dir_ph);
    107103void copy(const path &from_file_ph, const path &to_file_ph);
     104
     105static string gInstallerVersion = "1.11"; // only place in source we need to change this
  • AE/Installer/trunk/source/installer.cpp

    r562 r565  
    2525using namespace boost::posix_time;
    2626
    27 // externs declared in installer.h
    2827string strInstallCfg = "../GameDataFolder/Add.cfg";
    2928string strEUFN = "Edition"; // GetUpdateStatus() may set this to "Edition-patch" later, but this is the assumed name of the new Edition folder in Updates/
     
    349348                        {
    350349                                package = fileToModPackage(file, dir_itr->path().filename());
    351                                 if (package.installerVersion.compare(INSTALLER_VERSION) < 1)  // if mod requires newer version of the Installer, we won't add it to the list
     350                               
     351                                if (package.installerVersion.compare(gInstallerVersion) < 1)  // if mod requires newer version of the Installer, we won't add it to the list
    352352                                {
    353353#ifdef WIN32
     
    375375{       
    376376        ModPackage package;
    377         string line;
    378377        const string AEInstallVersion = "AEInstallVersion"; // used for comparing to the current token...
    379378        const string NameOfMod = "NameOfMod";
     
    393392        while (!file.eof())
    394393        {
    395                 getline(file,line);
    396                 vector<string> tokens;
     394                string line;
     395                getline(file, line);
     396                vector<string> tokens;
    397397                vector<string>::iterator iter;
    398398                tokenize(line, tokens);
    399399                if (tokens.capacity() >= 3)
    400400                {
     401                        for (int a = 0; a < tokens.size(); a++)
     402                                StripNewlines(&tokens.at(a));
    401403                        iter = tokens.begin();
    402 
     404                       
    403405                        if (!AEInstallVersion.compare(*iter))
    404406                        {
     
    942944                                        {
    943945                                                readingInstallerVersion = false;
    944                                                 string installerVersion = INSTALLER_VERSION;
    945                                                 if (installerVersion.compare(*iter)) // then the shell script-powered replacement failed
     946                                                if (gInstallerVersion.compare(*iter)) // then the shell script-powered replacement failed
    946947                                                        return UPDATE_INST_REPL_ERR;
    947948                                                else
     
    957958                                                                ptime startTime(second_clock::local_time());
    958959                                                                string strStartTime = to_simple_string(startTime);
    959                                                                 string newUpdateLine = installerVersion + " on " + strStartTime;
     960                                                                string newUpdateLine = gInstallerVersion + " on " + strStartTime;
    960961                                                                for (int a = 0; a < lines.capacity() - 2; a++) // if there were even lines in the log before this at all
    961962                                                                {
     
    987988                {
    988989                        string strNewInstallerPath = "../updates/" + strEUFN + "/install/" + strInstallerName;
    989                         string installerVersion = INSTALLER_VERSION;
    990                         if (updateAE->InstallerVersion.compare(installerVersion) >= 1)
     990                        if (updateAE->InstallerVersion.compare(gInstallerVersion) >= 1)
    991991                        {
    992992                                if (exists(strNewInstallerPath))
     
    10301030                                                if (updatePackage.modStringVersion > installedPackage.modStringVersion)
    10311031                                                {
    1032                                                         if (updatePackage.installerVersion <= INSTALLER_VERSION)
     1032                                                        if (updatePackage.installerVersion.compare(gInstallerVersion) < 1)
    10331033                                                                return UPDATE_PKG_AVAIL;
    10341034                                                }
     
    16171617                                if (updatePackage.modStringVersion > installedPackage.modStringVersion)
    16181618                                {
    1619                                         if (updatePackage.installerVersion <= INSTALLER_VERSION)
     1619                                        if (updatePackage.installerVersion.compare(gInstallerVersion) < 1)
    16201620                                        {
    16211621                                                if(exists(strPathToPackages +  "/" + updatePackage.modStringName)) {
     
    16901690/* StripNewlines() gets rids of any linebreaks that come from text returned by getline(); \
    16911691|  getline() should be stripping those out, but Windows CR/LF files seem to be sneaking   |
    1692 \  some extra return characters into strings in the ReadInstallInfoCfg() function.               */
     1692\  some extra return characters into strings.                                                                                    */
    16931693void StripNewlines(string *theLine)
    16941694{
  • AE/Installer/trunk/source/main_window.cpp

    r526 r565  
    289289    StatusArea->SetName(_T("StatusArea"));
    290290    StatusArea->SetFieldsCount(1);
    291         string versionText = "AE Installer v" + (string)INSTALLER_VERSION;
     291        string versionText = "AE Installer v" + gInstallerVersion;
    292292    StatusArea->SetStatusText(versionText.c_str(), 0);
    293293    itemBoxSizer2->Add(StatusArea, 0, wxGROW|wxALL, 0);
Note: See TracChangeset for help on using the changeset viewer.