Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

Ignore:
Timestamp:
May 19, 2008, 3:54:50 PM (17 years ago)
Author:
landauf
Message:

removed bug in ConfigValueContainer with default-vector with size zero (last attempt wasn't successful)

Location:
code/branches/console/src
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • code/branches/console/src/core/ConfigValueContainer.cc

    r1324 r1325  
    8787
    8888        if (defvalue.size() > 0)
    89             this->value_ = defvalue[0];
    90 
    91         for (unsigned int i = 0; i < defvalue.size(); i++)
    92             ConfigFileManager::getSingleton()->getValue(this->type_, this->sectionname_, this->varname_, i, defvalue[i].toString(), this->value_.isA(MT_string));
    93 
    94         for (unsigned int i = 0; i < defvalue.size(); i++)
    95             this->defvalueStringVector_.push_back(defvalue[i].toString());
    96 
    97         this->update();
     89        {
     90                this->value_ = defvalue[0];
     91
     92            for (unsigned int i = 0; i < defvalue.size(); i++)
     93            {
     94                ConfigFileManager::getSingleton()->getValue(this->type_, this->sectionname_, this->varname_, i, defvalue[i].toString(), this->value_.isA(MT_string));
     95                this->defvalueStringVector_.push_back(defvalue[i].toString());
     96            }
     97
     98            this->update();
     99        }
    98100    }
    99101
     
    282284            {
    283285                if (i < this->defvalueStringVector_.size())
     286                {
    284287                    this->value_.fromString(ConfigFileManager::getSingleton()->getValue(this->type_, this->sectionname_, this->varname_, i, this->defvalueStringVector_[i], this->value_.isA(MT_string)));
     288                }
    285289                else
    286                     this->value_.fromString(ConfigFileManager::getSingleton()->getValue(this->type_, this->sectionname_, this->varname_, i, MultiTypeMath(), this->value_.isA(MT_string)));
     290                {
     291                    this->value_.fromString(ConfigFileManager::getSingleton()->getValue(this->type_, this->sectionname_, this->varname_, i, "abc", this->value_.isA(MT_string)));
     292                }
    287293
    288294                this->valueVector_.push_back(this->value_);
  • code/branches/console/src/core/ConfigValueContainer.h

    r1324 r1325  
    9494            {
    9595                this->value_ = T();
     96                this->update();
    9697            }
    9798
  • code/branches/console/src/core/Shell.cc

    r1324 r1325  
    8080        SetConfigValue(maxHistoryLength_, 100);
    8181        SetConfigValue(historyOffset_, 0);
    82         SetConfigValueVector(commandHistory_, std::vector<std::string>(1, ""));
     82        SetConfigValueVector(commandHistory_, std::vector<std::string>());
    8383
    8484        if (this->historyOffset_ >= this->maxHistoryLength_)
  • code/branches/console/src/util/MultiTypePrimitive.h

    r1320 r1325  
    138138        void setValue(const MultiTypePrimitive& mtp);
    139139
    140         inline void*          getVoid()          const { return this->value_.void_;        }
     140        inline void*          getVoid()          const { return this->value_.void_;       }
    141141        inline int            getInt()           const { return this->value_.int_;        }
    142142        inline unsigned int   getUnsignedInt()   const { return this->value_.uint_;       }
  • code/branches/console/src/util/MultiTypeString.h

    r1320 r1325  
    6161        inline MultiTypeString(long double    value) : MultiTypePrimitive(value) {}
    6262        inline MultiTypeString(bool           value) : MultiTypePrimitive(value) {}
    63         inline MultiTypeString(const char*           value)   { this->setValue(value); }
    64         inline MultiTypeString(const std::string&    value)   { this->setValue(value); }
    65         inline MultiTypeString(const MultiTypeString& mts)    { this->setValue(mts);   }
     63        inline MultiTypeString(const char*           value) { this->setValue(value); }
     64        inline MultiTypeString(const std::string&    value) { this->setValue(value); }
     65        inline MultiTypeString(const MultiTypeString& mts)  { this->setValue(mts);   }
    6666        virtual inline ~MultiTypeString() {}
    6767
    6868        using MultiTypePrimitive::operator=;
    69         inline MultiTypeString& operator=(const char*             value)  { this->setValue(value); return *this; }
    70         inline MultiTypeString& operator=(const std::string&      value)  { this->setValue(value); return *this; }
    71         inline MultiTypeString& operator=(const MultiTypeString& mts)      { this->setValue(mts);   return *this; }
     69        inline MultiTypeString& operator=(const char*          value) { this->setValue(value); return *this; }
     70        inline MultiTypeString& operator=(const std::string&   value) { this->setValue(value); return *this; }
     71        inline MultiTypeString& operator=(const MultiTypeString& mts) { this->setValue(mts);   return *this; }
    7272
    7373        using MultiTypePrimitive::operator==;
    74         inline bool operator==(const char*             value) const { return (this->string_      == std::string(value)); }
    75         inline bool operator==(const std::string&      value) const { return (this->string_      == value);              }
     74        inline bool operator==(const char*        value) const { return (this->string_ == std::string(value)); }
     75        inline bool operator==(const std::string& value) const { return (this->string_ == value);              }
    7676        bool operator==(const MultiTypeString& mts) const;
    7777
    7878        using MultiTypePrimitive::operator!=;
    79         inline bool operator!=(const char*             value) const { return (this->string_      != std::string(value)); }
    80         inline bool operator!=(const std::string&      value) const { return (this->string_      != value);              }
     79        inline bool operator!=(const char*        value) const { return (this->string_ != std::string(value)); }
     80        inline bool operator!=(const std::string& value) const { return (this->string_ != value);              }
    8181        bool operator!=(const MultiTypeString& mts) const;
    8282
    83         virtual operator void*()                const;
    84         virtual operator int()                  const;
    85         virtual operator unsigned int()         const;
    86         virtual operator char()                 const;
    87         virtual operator unsigned char()        const;
    88         virtual operator short()                const;
    89         virtual operator unsigned short()       const;
    90         virtual operator long()                 const;
    91         virtual operator unsigned long()        const;
    92         virtual operator float ()               const;
    93         virtual operator double ()              const;
    94         virtual operator long double()          const;
    95         virtual operator bool()                 const;
    96         virtual operator std::string()          const;
    97         virtual operator const char*()          const;
     83        virtual operator void*()          const;
     84        virtual operator int()            const;
     85        virtual operator unsigned int()   const;
     86        virtual operator char()           const;
     87        virtual operator unsigned char()  const;
     88        virtual operator short()          const;
     89        virtual operator unsigned short() const;
     90        virtual operator long()           const;
     91        virtual operator unsigned long()  const;
     92        virtual operator float ()         const;
     93        virtual operator double ()        const;
     94        virtual operator long double()    const;
     95        virtual operator bool()           const;
     96        virtual operator std::string()    const;
     97        virtual operator const char*()    const;
    9898
    9999        using MultiTypePrimitive::setValue;
    100         inline void setValue(const char*             value) { this->type_ = MT_string;     this->string_    = std::string(value); }
    101         inline void setValue(const std::string&      value) { this->type_ = MT_string;     this->string_    = value;              }
     100        inline void setValue(const char*        value) { this->type_ = MT_string; this->string_ = std::string(value); }
     101        inline void setValue(const std::string& value) { this->type_ = MT_string; this->string_ = value;              }
    102102        void setValue(const MultiTypeString& mts);
    103103
    104         inline std::string getString()          const { return this->string_;         }
    105         inline const char*  getConstChar()      const { return this->string_.c_str(); }
     104        inline std::string getString()     const { return this->string_;         }
     105        inline const char*  getConstChar() const { return this->string_.c_str(); }
    106106
    107         inline std::string& getString()          { return this->string_;         }
    108         inline const char*  getConstChar()       { return this->string_.c_str(); }
     107        inline std::string& getString()    { return this->string_;         }
     108        inline const char*  getConstChar() { return this->string_.c_str(); }
    109109
    110110        using MultiTypePrimitive::getValue;
    111         inline void getValue(std::string*      variable) const { (*variable) = this->string_;         }
    112         inline void getValue(const char**      variable) const { (*variable) = this->string_.c_str(); }
     111        inline void getValue(std::string* variable) const { (*variable) = this->string_;         }
     112        inline void getValue(const char** variable) const { (*variable) = this->string_.c_str(); }
    113113
    114114        virtual std::string getTypename() const;
Note: See TracChangeset for help on using the changeset viewer.