[opensource-dev] trying to get a mod working
Brendan Wilson
wolfpup67 at earthlink.net
Tue Apr 20 11:40:20 PDT 2010
I'm working on moding the the lllogchat.ccp to add a datestamp to the file
name but im having dificuilitie with getting it to work roght of fail to
compile. The following erros are from my latest compile:
94>lllogchat.cpp
94>lllocationinputctrl.cpp
94>..\..\newview\lllogchat.cpp(196) : error C2065: 'ostringstream' :
undeclared identifier
94>..\..\newview\lllogchat.cpp(196) : error C2146: syntax error : missing
';' before identifier 'date'
94>..\..\newview\lllogchat.cpp(196) : error C2275: 'boost::gregorian::date'
: illegal use of this type as an expression
94>
C:\linden\projects\2010\snowglobe\trunk\libraries\include\boost/date_time/gr
egorian/greg_date.hpp(37) : see declaration of 'boost::gregorian::date'
94>..\..\newview\lllogchat.cpp(197) : error C2143: syntax error : missing
';' before '<<'
94>..\..\newview\lllogchat.cpp(197) : error C2143: syntax error : missing
';' before '<<'
94>..\..\newview\lllogchat.cpp(198) : warning C4832: token '.' is illegal
after UDT 'LLLogChat::makeLogFileName::date'
94> ..\..\newview\lllogchat.cpp(197) : see declaration of
'LLLogChat::makeLogFileName::date'
94>..\..\newview\lllogchat.cpp(198) : error C2027: use of undefined type
'LLLogChat::makeLogFileName::date'
94> ..\..\newview\lllogchat.cpp(197) : see declaration of
'LLLogChat::makeLogFileName::date'
94>..\..\newview\lllogchat.cpp(198) : error C2228: left of '.str' must have
class/struct/union
94>..\..\newview\lllogchat.cpp(203) : error C2146: syntax error : missing
';' before identifier 'date'
94>..\..\newview\lllogchat.cpp(203) : error C2275: 'boost::gregorian::date'
: illegal use of this type as an expression
94>
C:\linden\projects\2010\snowglobe\trunk\libraries\include\boost/date_time/gr
egorian/greg_date.hpp(37) : see declaration of 'boost::gregorian::date'
94>..\..\newview\lllogchat.cpp(204) : error C2143: syntax error : missing
';' before '<<'
94>..\..\newview\lllogchat.cpp(204) : error C2143: syntax error : missing
';' before '<<'
94>..\..\newview\lllogchat.cpp(205) : warning C4832: token '.' is illegal
after UDT 'boost::gregorian::date'
94>
C:\linden\projects\2010\snowglobe\trunk\libraries\include\boost/date_time/gr
egorian/greg_date.hpp(37) : see declaration of 'boost::gregorian::date'
94>..\..\newview\lllogchat.cpp(205) : error C2039: 'str' : is not a member
of 'boost::gregorian::date'
94>
C:\linden\projects\2010\snowglobe\trunk\libraries\include\boost/date_time/gr
egorian/greg_date.hpp(37) : see declaration of 'boost::gregorian::date'
Here is the related code:
std::string LLLogChat::makeLogFileName(std::string filename)
{
time_t now = time(NULL);
struct tm * t = localtime(&now);
if (filename == "chat")
{
ostringstream date;
date << "-" << t->tm_year << "-" << t->tm_mon << "-" <<
t->tm_mday;
std::string formated_date = date.str();
filename += formated_date;
}
else
{
ostringstream date;
date << "-" << t->tm_year << "-" << t->tm_mon;
std::string formated_date = date.str();
filename += formated_date;
}
filename = cleanFileName(filename);
filename =
gDirUtilp->getExpandedFilename(LL_PATH_PER_ACCOUNT_CHAT_LOGS,filename);
filename += ".txt";
return filename;
}
I'm trying to do something similar to this section of code:
std::string LLLogChat::timestamp(bool withdate)
{
time_t utc_time;
utc_time = time_corrected();
std::string timeStr;
LLSD substitution;
substitution["datetime"] = (S32) utc_time;
if (withdate)
{
timeStr = "["+LLTrans::getString ("TimeYear")+"]/["
+LLTrans::getString ("TimeMonth")+"]/["
+LLTrans::getString ("TimeDay")+"] ["
+LLTrans::getString ("TimeHour")+"]:["
+LLTrans::getString ("TimeMin")+"]";
}
else
{
timeStr = "[" + LLTrans::getString("TimeHour") + "]:["
+ LLTrans::getString ("TimeMin")+"]";
}
LLStringUtil::format (timeStr, substitution);
return timeStr;
}
When I tried this modification to the code:
std::string LLLogChat::makeLogFileName(std::string filename)
{
time_t utc_time;
utc_time = time_corrected();
std::string timeStr;
LLSD substitution;
substitution["datetime"] = (S32) utc_time;
if (filename == "chat" )
{
timeStr = "-"+LLTrans::getString ("TimeYear")+"-"
+LLTrans::getString ("TimeMonth")+"-"
+LLTrans::getString ("TimeDay");
}
else
{
timeStr = "[" + LLTrans::getString("TimeHour") + "]:["
+ LLTrans::getString ("TimeMin")+"]";
}
LLStringUtil::format (timeStr, substitution);
filename += timeStr;
filename = cleanFileName(filename);
filename =
gDirUtilp->getExpandedFilename(LL_PATH_PER_ACCOUNT_CHAT_LOGS,filename);
filename += ".txt";
return filename;
}
It would compile just fine but I wouls get
chat-year,datetime,slt-mthnum,datetime,slt-day,datetime,slt as the file name
instead of chat-2010-04-19 for the file name which is what I want
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.secondlife.com/pipermail/opensource-dev/attachments/20100420/5818ca72/attachment-0001.htm
More information about the opensource-dev
mailing list