From: <ri...@us...> - 2006-08-19 21:34:40
|
Revision: 1455 Author: rilson Date: 2006-08-19 14:33:13 -0700 (Sat, 19 Aug 2006) ViewCVS: http://svn.sourceforge.net/osdldbt/?rev=1455&view=rev Log Message: ----------- Added code to correct memory leak in EGen, class CDateTime Modified Paths: -------------- trunk/dbt5/src/EGen_v3.14/inc/BaseLogger.h trunk/dbt5/src/EGen_v3.14/inc/DateTime.h trunk/dbt5/src/EGen_v3.14/inc/EGenLogger.h trunk/dbt5/src/EGen_v3.14/inc/EGenUtilities_stdafx.h trunk/dbt5/src/EGen_v3.14/inc/FlatCashTransactionLoad.h trunk/dbt5/src/EGen_v3.14/inc/FlatCompanyLoad.h trunk/dbt5/src/EGen_v3.14/inc/FlatCustomerLoad.h trunk/dbt5/src/EGen_v3.14/inc/FlatDailyMarketLoad.h trunk/dbt5/src/EGen_v3.14/inc/FlatFinancialLoad.h trunk/dbt5/src/EGen_v3.14/inc/FlatHoldingLoad.h trunk/dbt5/src/EGen_v3.14/inc/FlatLastTradeLoad.h trunk/dbt5/src/EGen_v3.14/inc/FlatNewsItemLoad.h trunk/dbt5/src/EGen_v3.14/inc/FlatSecurityLoad.h trunk/dbt5/src/EGen_v3.14/inc/FlatSettlementLoad.h trunk/dbt5/src/EGen_v3.14/inc/FlatTradeHistoryLoad.h trunk/dbt5/src/EGen_v3.14/inc/FlatTradeLoad.h trunk/dbt5/src/EGen_v3.14/src/DateTime.cpp trunk/dbt5/src/Makefile.am Modified: trunk/dbt5/src/EGen_v3.14/inc/BaseLogger.h =================================================================== --- trunk/dbt5/src/EGen_v3.14/inc/BaseLogger.h 2006-08-14 22:56:44 UTC (rev 1454) +++ trunk/dbt5/src/EGen_v3.14/inc/BaseLogger.h 2006-08-19 21:33:13 UTC (rev 1455) @@ -80,7 +80,7 @@ }; - virtual bool SendToLoggerImpl(const char *szPrefix, const char *szTimestamp, const char *szMsg) = 0; + virtual bool SendToLoggerImpl(const char *szPrefix, const string szTimestamp, const char *szMsg) = 0; public: // Destructor Modified: trunk/dbt5/src/EGen_v3.14/inc/DateTime.h =================================================================== --- trunk/dbt5/src/EGen_v3.14/inc/DateTime.h 2006-08-14 22:56:44 UTC (rev 1454) +++ trunk/dbt5/src/EGen_v3.14/inc/DateTime.h 2006-08-19 21:33:13 UTC (rev 1455) @@ -44,6 +44,8 @@ #include <odbcss.h> #endif //COMPILE_ODBC_LOAD +#include <string> + namespace TPCE { @@ -100,7 +102,7 @@ #endif //COMPILE_ODBC_LOAD static INT32 YMDtoDayno( INT32 yr, INT32 mm, INT32 dd ); - char* ToStr( INT32 style ); + string ToStr( INT32 style ); void Add(INT32 days, INT32 msec); void AddMinutes(INT32 Minutes); Modified: trunk/dbt5/src/EGen_v3.14/inc/EGenLogger.h =================================================================== --- trunk/dbt5/src/EGen_v3.14/inc/EGenLogger.h 2006-08-14 22:56:44 UTC (rev 1454) +++ trunk/dbt5/src/EGen_v3.14/inc/EGenLogger.h 2006-08-19 21:33:13 UTC (rev 1455) @@ -60,7 +60,7 @@ ofstream m_Log; CSyncLock m_LogLock; - bool SendToLoggerImpl(const char *szPrefix, const char *szTimestamp, const char *szMsg) + bool SendToLoggerImpl(const char *szPrefix, const string szTimestamp, const char *szMsg) { m_LogLock.ClaimLock(); m_Log << szPrefix << " " << szTimestamp << " " << szMsg << endl; Modified: trunk/dbt5/src/EGen_v3.14/inc/EGenUtilities_stdafx.h =================================================================== --- trunk/dbt5/src/EGen_v3.14/inc/EGenUtilities_stdafx.h 2006-08-14 22:56:44 UTC (rev 1454) +++ trunk/dbt5/src/EGen_v3.14/inc/EGenUtilities_stdafx.h 2006-08-19 21:33:13 UTC (rev 1455) @@ -76,5 +76,5 @@ #include "RNGSeeds.h" #include "EGenVersion.h" #include "Money.h" - +#include <string> #endif // #ifndef EGEN_UTILITIES_STDAFX_H Modified: trunk/dbt5/src/EGen_v3.14/inc/FlatCashTransactionLoad.h =================================================================== --- trunk/dbt5/src/EGen_v3.14/inc/FlatCashTransactionLoad.h 2006-08-14 22:56:44 UTC (rev 1454) +++ trunk/dbt5/src/EGen_v3.14/inc/FlatCashTransactionLoad.h 2006-08-19 21:33:13 UTC (rev 1455) @@ -39,7 +39,7 @@ */ #ifndef FLAT_CASH_TRANSACTION_LOAD_H #define FLAT_CASH_TRANSACTION_LOAD_H - +#include <string> namespace TPCE { @@ -58,7 +58,7 @@ Flat_CT_DTS = next_record->CT_DTS; int rc = fprintf( hOutFile, CashTransactionRowFmt, next_record->CT_T_ID, - Flat_CT_DTS.ToStr(FlatFileDateTimeFormat), + Flat_CT_DTS.ToStr(FlatFileDateTimeFormat).c_str(), next_record->CT_AMT, next_record->CT_NAME ); Modified: trunk/dbt5/src/EGen_v3.14/inc/FlatCompanyLoad.h =================================================================== --- trunk/dbt5/src/EGen_v3.14/inc/FlatCompanyLoad.h 2006-08-14 22:56:44 UTC (rev 1454) +++ trunk/dbt5/src/EGen_v3.14/inc/FlatCompanyLoad.h 2006-08-19 21:33:13 UTC (rev 1455) @@ -65,7 +65,7 @@ next_record->CO_CEO, next_record->CO_AD_ID, next_record->CO_DESC, - Flat_CO_OPEN_DATE.ToStr(FlatFileDateFormat) + Flat_CO_OPEN_DATE.ToStr(FlatFileDateFormat).c_str() ); if (rc < 0) { throw new CSystemErr(CSystemErr::eWriteFile, "CFlatCompanyLoad::WriteNextRecord"); Modified: trunk/dbt5/src/EGen_v3.14/inc/FlatCustomerLoad.h =================================================================== --- trunk/dbt5/src/EGen_v3.14/inc/FlatCustomerLoad.h 2006-08-14 22:56:44 UTC (rev 1454) +++ trunk/dbt5/src/EGen_v3.14/inc/FlatCustomerLoad.h 2006-08-19 21:33:13 UTC (rev 1455) @@ -66,7 +66,7 @@ next_record->C_M_NAME, next_record->C_GNDR, (int)next_record->C_TIER, - Flat_C_DOB.ToStr(FlatFileDateFormat), + Flat_C_DOB.ToStr(FlatFileDateFormat).c_str(), next_record->C_AD_ID, next_record->C_CTRY_1, next_record->C_AREA_1, Modified: trunk/dbt5/src/EGen_v3.14/inc/FlatDailyMarketLoad.h =================================================================== --- trunk/dbt5/src/EGen_v3.14/inc/FlatDailyMarketLoad.h 2006-08-14 22:56:44 UTC (rev 1454) +++ trunk/dbt5/src/EGen_v3.14/inc/FlatDailyMarketLoad.h 2006-08-19 21:33:13 UTC (rev 1455) @@ -57,7 +57,7 @@ { Flat_DM_DATE = next_record->DM_DATE; int rc = fprintf( hOutFile, DailyMarketRowFmt, - Flat_DM_DATE.ToStr(FlatFileDateFormat), + Flat_DM_DATE.ToStr(FlatFileDateFormat).c_str(), next_record->DM_S_SYMB, next_record->DM_CLOSE, next_record->DM_HIGH, Modified: trunk/dbt5/src/EGen_v3.14/inc/FlatFinancialLoad.h =================================================================== --- trunk/dbt5/src/EGen_v3.14/inc/FlatFinancialLoad.h 2006-08-14 22:56:44 UTC (rev 1454) +++ trunk/dbt5/src/EGen_v3.14/inc/FlatFinancialLoad.h 2006-08-19 21:33:13 UTC (rev 1455) @@ -60,7 +60,7 @@ next_record->FI_CO_ID, next_record->FI_YEAR, next_record->FI_QTR, - Flat_FI_QTR_START_DATE.ToStr(FlatFileDateFormat), + Flat_FI_QTR_START_DATE.ToStr(FlatFileDateFormat).c_str(), next_record->FI_REVENUE, next_record->FI_NET_EARN, next_record->FI_BASIC_EPS, Modified: trunk/dbt5/src/EGen_v3.14/inc/FlatHoldingLoad.h =================================================================== --- trunk/dbt5/src/EGen_v3.14/inc/FlatHoldingLoad.h 2006-08-14 22:56:44 UTC (rev 1454) +++ trunk/dbt5/src/EGen_v3.14/inc/FlatHoldingLoad.h 2006-08-19 21:33:13 UTC (rev 1455) @@ -60,7 +60,7 @@ next_record->H_T_ID, next_record->H_CA_ID, next_record->H_S_SYMB, - Flat_H_DTS.ToStr(FlatFileDateTimeFormat), + Flat_H_DTS.ToStr(FlatFileDateTimeFormat).c_str(), next_record->H_PRICE, next_record->H_QTY ); Modified: trunk/dbt5/src/EGen_v3.14/inc/FlatLastTradeLoad.h =================================================================== --- trunk/dbt5/src/EGen_v3.14/inc/FlatLastTradeLoad.h 2006-08-14 22:56:44 UTC (rev 1454) +++ trunk/dbt5/src/EGen_v3.14/inc/FlatLastTradeLoad.h 2006-08-19 21:33:13 UTC (rev 1455) @@ -58,7 +58,7 @@ Flat_LT_DTS = next_record->LT_DTS; int rc = fprintf( hOutFile, LastTradeRowFmt, next_record->LT_S_SYMB, - Flat_LT_DTS.ToStr(FlatFileDateTimeFormat), + Flat_LT_DTS.ToStr(FlatFileDateTimeFormat).c_str(), next_record->LT_PRICE, next_record->LT_OPEN_PRICE, next_record->LT_VOL Modified: trunk/dbt5/src/EGen_v3.14/inc/FlatNewsItemLoad.h =================================================================== --- trunk/dbt5/src/EGen_v3.14/inc/FlatNewsItemLoad.h 2006-08-14 22:56:44 UTC (rev 1454) +++ trunk/dbt5/src/EGen_v3.14/inc/FlatNewsItemLoad.h 2006-08-19 21:33:13 UTC (rev 1455) @@ -61,7 +61,7 @@ next_record->NI_HEADLINE, next_record->NI_SUMMARY, next_record->NI_ITEM, - Flat_NI_DTS.ToStr(FlatFileDateTimeFormat), + Flat_NI_DTS.ToStr(FlatFileDateTimeFormat).c_str(), next_record->NI_SOURCE, next_record->NI_AUTHOR ); Modified: trunk/dbt5/src/EGen_v3.14/inc/FlatSecurityLoad.h =================================================================== --- trunk/dbt5/src/EGen_v3.14/inc/FlatSecurityLoad.h 2006-08-14 22:56:44 UTC (rev 1454) +++ trunk/dbt5/src/EGen_v3.14/inc/FlatSecurityLoad.h 2006-08-19 21:33:13 UTC (rev 1455) @@ -68,8 +68,8 @@ next_record->S_EX_ID, next_record->S_CO_ID, next_record->S_NUM_OUT, - Flat_S_START_DATE.ToStr(FlatFileDateFormat), - Flat_S_EXCH_DATE.ToStr(FlatFileDateFormat), + Flat_S_START_DATE.ToStr(FlatFileDateFormat).c_str(), + Flat_S_EXCH_DATE.ToStr(FlatFileDateFormat).c_str(), next_record->S_PE ); @@ -83,9 +83,9 @@ Flat_S_52WK_LOW_DATE = next_record->S_52WK.LOW_DATE; rc = fprintf( hOutFile, SecurityRowFmt_2, next_record->S_52WK.HIGH, - Flat_S_52WK_HIGH_DATE.ToStr(FlatFileDateFormat), + Flat_S_52WK_HIGH_DATE.ToStr(FlatFileDateFormat).c_str(), next_record->S_52WK.LOW, - Flat_S_52WK_LOW_DATE.ToStr(FlatFileDateFormat) + Flat_S_52WK_LOW_DATE.ToStr(FlatFileDateFormat).c_str() ); } Modified: trunk/dbt5/src/EGen_v3.14/inc/FlatSettlementLoad.h =================================================================== --- trunk/dbt5/src/EGen_v3.14/inc/FlatSettlementLoad.h 2006-08-14 22:56:44 UTC (rev 1454) +++ trunk/dbt5/src/EGen_v3.14/inc/FlatSettlementLoad.h 2006-08-19 21:33:13 UTC (rev 1455) @@ -59,7 +59,7 @@ int rc = fprintf( hOutFile, SettlementRowFmt, next_record->SE_T_ID, next_record->SE_CASH_TYPE, - Flat_SE_CASH_DUE_DATE.ToStr(FlatFileDateFormat), + Flat_SE_CASH_DUE_DATE.ToStr(FlatFileDateFormat).c_str(), next_record->SE_AMT ); if (rc < 0) { Modified: trunk/dbt5/src/EGen_v3.14/inc/FlatTradeHistoryLoad.h =================================================================== --- trunk/dbt5/src/EGen_v3.14/inc/FlatTradeHistoryLoad.h 2006-08-14 22:56:44 UTC (rev 1454) +++ trunk/dbt5/src/EGen_v3.14/inc/FlatTradeHistoryLoad.h 2006-08-19 21:33:13 UTC (rev 1455) @@ -58,7 +58,7 @@ Flat_TH_DTS = next_record->TH_DTS; int rc = fprintf( hOutFile, TradeHistoryRowFmt, next_record->TH_T_ID, - Flat_TH_DTS.ToStr(FlatFileDateTimeFormat), + Flat_TH_DTS.ToStr(FlatFileDateTimeFormat).c_str(), next_record->TH_ST_ID ); if (rc < 0) { Modified: trunk/dbt5/src/EGen_v3.14/inc/FlatTradeLoad.h =================================================================== --- trunk/dbt5/src/EGen_v3.14/inc/FlatTradeLoad.h 2006-08-14 22:56:44 UTC (rev 1454) +++ trunk/dbt5/src/EGen_v3.14/inc/FlatTradeLoad.h 2006-08-19 21:33:13 UTC (rev 1455) @@ -58,7 +58,7 @@ Flat_T_DTS = next_record->T_DTS; int rc = fprintf( hOutFile, TradeRowFmt, next_record->T_ID, - Flat_T_DTS.ToStr(FlatFileDateTimeFormat), + Flat_T_DTS.ToStr(FlatFileDateTimeFormat).c_str(), next_record->T_ST_ID, next_record->T_TT_ID, next_record->T_IS_CASH, Modified: trunk/dbt5/src/EGen_v3.14/src/DateTime.cpp =================================================================== --- trunk/dbt5/src/EGen_v3.14/src/DateTime.cpp 2006-08-14 22:56:44 UTC (rev 1454) +++ trunk/dbt5/src/EGen_v3.14/src/DateTime.cpp 2006-08-19 21:33:13 UTC (rev 1455) @@ -143,7 +143,7 @@ // 7 MON DD YYYY // 8 Month DD, YYYY // -char* CDateTime::ToStr( INT32 style = 11 ) +string CDateTime::ToStr( INT32 style = 11 ) { static const char *szMonthsShort[] = { "JAN", "FEB", "MAR", "APR", "MAY", "JUN", "JUL", "AUG", "SEP", "OCT", "NOV", "DEC" }; @@ -234,7 +234,10 @@ if (p>0 && m_szText[p-1] == ' ') m_szText[p-1] = 0; - return m_szText; + string s = m_szText; + if (m_szText) delete [] m_szText; + + return s; } // set to current local time @@ -270,8 +273,6 @@ CDateTime::~CDateTime(void) { - if (m_szText) - delete [] m_szText; } CDateTime::CDateTime(INT32 year, INT32 month, INT32 day, INT32 hour, INT32 minute, INT32 second, INT32 msec) Modified: trunk/dbt5/src/Makefile.am =================================================================== --- trunk/dbt5/src/Makefile.am 2006-08-14 22:56:44 UTC (rev 1454) +++ trunk/dbt5/src/Makefile.am 2006-08-19 21:33:13 UTC (rev 1455) @@ -5,7 +5,7 @@ INCLUDES = -I@egen_path@/inc -Iinclude -AM_CPPFLAGS=#-ggdb +AM_CPPFLAGS=-ggdb DEFS=-DCOMPILE_PLSQL_FUNCTION #-DDEBUG TXN=transactions This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |