Ugh. Sorry 'bout that. Horrible code. Right, now that we have SWBuf, we sould probably just do something like:

SWBuf buf;

buf = path;
buf += ".idx";
...

or

buf = "";
buf.appendFormatted("%s.idx", path);

the second looks more like the existing code, but the first is probably faster.

You're welcome to commit your changes.

If we're just storing a char *, which isn't to be manipulated (like path in the above code), we have a library of standard string functions. stdstr(&path, "value") will delete the pointer if it is not null, allocate the necessary space, then copy "value" to the string. You can call stdstr to change the value of char * pointers all you'd like, but at the end of the day, you'll have to, eg. delete [] path in your d-tor.

Hope that helps. Thanks for tracking this down!

Oh, one more thing. Per Daniel's discovery of static initialization ambiguities, we're planning to change access to our 3 major system statics to a common get/set interface:

systemFileMgr
systemLog
systemLocaleMgr

will all be like:

SWLog::setSystemLog(new MyMacintoshOSXDialogBoxSWLog());
SWLog::getSystemLog()->logError("You have not installed any books!");


currently you have to:


delete SWLog::systemLog;
SWLog::systemLog = new MyMacintoshOSXDialogBoxSWLog();
SWLog::systemLog->logError("You have not installed any books!");


Changing it to a property syntax with normal get/set names allows us to be sure the statics are ready to be used before they are accessed by the API client.


All this to say. We hope to have a 1.5.8 release out shortly with these minory API changes, and it would be nice to have your new release work against it. (shortly = likely, 1-2 weeks)

-Troy.


William Thimbleby wrote:
Right fixed Casey's bug now (I think). Some classes such as rawstr make use of a short buffer for file paths. I've converted all the relevant ones to SWBuf. Is this the best way to do this the rawgenbook makes use of a char buffer it creates itself. A standard way of doing this is probably a good idea, then it can be committed to CVS.

http://www.heathmoor.plus.com/downloads/MacSword0.4beta3.dmg

Christian: can you expand on your problems opening the book/chapter pop-ups, I've never heard of this or seen any problems.

Cheers -Will

_______________________________________________
sword-devel mailing list
[EMAIL PROTECTED]
http://www.crosswire.org/mailman/listinfo/sword-devel

_______________________________________________ sword-devel mailing list [EMAIL PROTECTED] http://www.crosswire.org/mailman/listinfo/sword-devel

Reply via email to