diff options
Diffstat (limited to 'src/shared/Database/Field.cpp')
-rw-r--r-- | src/shared/Database/Field.cpp | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/src/shared/Database/Field.cpp b/src/shared/Database/Field.cpp index 2467eabd448..9a1fbfa5178 100644 --- a/src/shared/Database/Field.cpp +++ b/src/shared/Database/Field.cpp @@ -17,21 +17,28 @@ * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ + #include "DatabaseEnv.h" + Field::Field() : mValue(NULL), mType(DB_TYPE_UNKNOWN) { } + Field::Field(Field &f) { const char *value; + value = f.GetString(); + if (value && (mValue = new char[strlen(value) + 1])) strcpy(mValue, value); else mValue = NULL; + mType = f.GetType(); } + Field::Field(const char *value, enum Field::DataTypes type) : mType(type) { @@ -40,13 +47,16 @@ mType(type) else mValue = NULL; } + Field::~Field() { if(mValue) delete [] mValue; } + void Field::SetValue(const char *value) { if(mValue) delete [] mValue; + if (value) { mValue = new char[strlen(value) + 1]; |