Subject: Re: null termination of keys

From: "Robert D. Russell" <[email-masked]>
Date: Tue, 4 Jun 2002 02:48:43 -0400 (EDT)

Julian:

Draft 12-96, section 4.1 defines an LTDS and then says:

"Every key=value pair, excluding the last or only pair in a LTDS,
MUST be followed by one null (0x00) delimiter; the last or only pair
in a LTDS ends at the LTDS end."

This brings us back to where we were in draft 6 -- that key=value pairs
are separated by nulls, not terminated by nulls.  If I remember
correctly, one of the primary reasons that this was changed going to draft
7 is that implementations prefer to treat each key=value pair as one string,
and in C and C++, strings are null terminated.

I do not believe this change is in any way necessary for the LTDS or
C-bit mechanism, and would request that it be put back to the way it has
been from draft 7 through draft 12-94:

"Every key=value pair, including the last or only pair in a LTDS,
MUST be followed by one null (0x00) delimiter."

Thanks

Bob Russell

---

From: [email-masked]
Date: Tue, 4 Jun 2002 14:44:07 -0600

Bill,

I agree. Also, changing this bit is unnecessary thrashing and it is time to 
stop changing things that aren't broken. We are already seeing that changing
the C bit is in danger of having a ripple effect.

Regards,
Pat

-----Original Message-----
From: Bill Studenmund [mailto:[email-masked]]
Sent: Tuesday, June 04, 2002 9:50 AM
To: Julian Satran
Cc: Robert D. Russell; [email-masked]
Subject: Re: null termination of keys

On Tue, 4 Jun 2002, Julian Satran wrote:

> Bob,
>
> The reason it was put in is to to enable "parsing" without the C bit.
> With key spanning PDUs before having the C bit the sender had to avoid
> sending a 0 if this was the last byte of the PDU as he had no other means
> of signaling continuation. A 0 at the end of a PDU meant end-of-LTDS.
>
> Now that we have the C bit we can live with or without having a 0 at the
> end of the last PDU.
> Let's hear some more voices.

As a C/C++ programmer, I really like the idea of having 0s at the end of a
key/value pair.

I agree with Bob that having key/value pairs terminated by NULs is easier.

Take care,

Bill