[sword-devel] NEED A HAND
Troy A. Griffitts
sword-devel@crosswire.org
Thu, 20 Feb 2003 13:03:55 -0700
Scratch that previous email!
if (buf[buf.length()-2] == '/')
doh!
>> What do I do with this?
>> if (*((*buf)-1) == '/')
>
>
> Terry,
> I would guess:
>
> if (buf[buf.length()] == '/')
>
> note: length() will return the -1 position in a 0 based array.
>
>
>
>>
>> I'm working on thmlhtmlhref
>>
>> On Thu, 2003-02-20 at 02:46, Troy A. Griffitts wrote:
>>
>>> Hey guys. I just added the new SWBuf class to the API and now need
>>> help integrating it throughout.
>>>
>>> CURRENT CVS IS BROKEN AND WON'T WORK TILL THIS IS DONE.
>>>
>>> I was going to do it all myself, but realized that we have nearly 50
>>> filters now!
>>>
>>> SO, if you have cvs write access, please post a note claiming a few
>>> filter that you are working on so we don't overlap our work.
>>>
>>>
>>> Here is the gist...
>>>
>>> SWBuf works pretty much like string, except that it can operate on
>>> buffers that aren't null terminated, as well.
>>>
>>> Have a look at tests/swbuftest.cpp and include/swbuf.h
>>>
>>> Up until yesterday there was a FILTER_PAD define that basically told
>>> us how much to guess at allocating a buffer to be sure we had enough
>>> space for filter to do their job. The filters used to take a char *.
>>>
>>> Now, FILTER_PAD is gone (hurray!) and we're passing SWBuf & in place
>>> of char * to the filters.
>>>
>>> Headers have been changed to reflect the new sigs, but the .cpp files
>>> have not.
>>>
>>> swbasicfilter.cpp and gbfhtml.cpp are done.
>>>
>>> Quick help:
>>>
>>> -char Filter::ProcessText(char *text, int maxlen, const SWKey *key,
>>> - const SWModule *module)
>>> +char Filter::processText(SWBuf &text, const SWKey *key,
>>> + const SWModule *module)
>>>
>>>
>>> - pushString(buf, "whatever");
>>> + buf += "whatever";
>>>
>>>
>>> - *(*buf)++ = 'x';
>>> + buf += 'x';
>>>
>>>
>>> - pushString(buf, "%d %s", 4, "cows");
>>> + buf.appendFormatted("%d %s", 4, "cows");
>>>
>>>
>>> - char *to, *from;
>>> - len = strlen(text) + 1;
>>> - // shift string to right of buffer
>>> - if (len < maxlen) {
>>> - memmove(&text[maxlen - len], text, len);
>>> - from = (unsigned char *)&text[maxlen - len];
>>> - }
>>> - else from = (unsigned char *)text;
>>> - for (to = (unsigned char *)text; *from; from++) {
>>> + const char *from;
>>> + SWBuf orig = text;
>>> + from = orig.c_str();
>>> + for (text = ""; *from; from++) {
>>>
>>> _______________________________________
>>>
>>> Thanks for considering helping on this one!
>>>
>>> In His Grace,
>>> -Troy.
>>>
>>>
>>> _______________________________________________
>>> sword-devel mailing list
>>> sword-devel@crosswire.org
>>> http://www.crosswire.org/mailman/listinfo/sword-devel
>>
>>
>
>
> _______________________________________________
> sword-devel mailing list
> sword-devel@crosswire.org
> http://www.crosswire.org/mailman/listinfo/sword-devel