Re: Terminology concerning strings

Roland Illig wrote:
Hi all,

in the last time I have programmed a bit with strings, and I have found four properties of them which need to be distinguished and which should be named consistently throughout the whole Midnight Commander.

* the _size_ of a string (as well as for other objects) is the number of
  bytes that is allocated for it. For arrays, it is the number of
  entries of the array. For strings it is at least _length_ + 1.

To clarify this item: I want to continue using '\0'-terminated strings, and I also want to regard them as arrays. The second sentence above is a bit misleading, so here's a second try.

* the _size_ of a string (which is regarded as an array of an arbitrary
  character type) is the number of array elements that may be accessed.

Currently these differences are not recognized by most of the code. Therefore I'd like to rename all matching variables according to this scheme: For the string variable s, the _size_ is called ssize, the _length_ is called slen, the _width_ is called swidth, and the _height_ is called sheight.

Actually you are all right that s_size, s_length, s_width, and s_height look better than without underscores. The idea of leaving out the underscore originated in ecs_strlcpy, where I had the variables dst and dstsize. In that case, the short name was not as hard to read as in "real life" examples.


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]