On 2 February 2015 at 18:55, Branko Čibej <br...@wandisco.com> wrote:
> On 02.02.2015 16:33, Ivan Zhakov wrote:
>> On 2 February 2015 at 18:24,  <br...@apache.org> wrote:
>>> Author: brane
>>> Date: Mon Feb  2 15:24:16 2015
>>> New Revision: 1656488
>>>
>>> URL: http://svn.apache.org/r1656488
>>> Log:
>>> Introduce a private libsvn_client context structure that stores
>>> context information that should not be part of the public API.
>>>
>>> * subversion/include/svn_client.h
>>>   (svn_client_ctx_t): Remove the 'progress' field, which should be private.
>>>
>>> * subversion/libsvn_client/client.h
>>>   (client_ctx_t): New; the private context struct.
>>>    Contains the equivalent of the 'progress' field.
>> I suggest svn_client__private_ctx_t name for client_ctx_t structure: I
>> think it less confusing name and follow our guidelines for library
>> private identifiers.
>
> This is not really a library private identifier. It is a type name
> private to the library, so it's never exposed from a (static or dynamic)
> library and therefore cannot cause name collisions at link time.
>
> We use similar type and macro naming shortcuts in many places for this
> kind of thing.
>
> I'll probably add a "private_" prefix, though, to avoid confusion where
> both context types are used in the same function.
>
I know that there is no name collision problem with type names. But
Subversion Community Guide still require library prefix even for
structure names [1]:
[[[
All published functions, variables, and structures must be signified
with the corresponding library name - such as libsvn_wc's
svn_wc_adm_open. All library-internal declarations made in a
library-private header file (such as libsvn_wc/wc.h) must be signified
by two underscores after the library prefix (such as
svn_wc__ensure_directory).
]]]

I think that svn_client__private_ctx_t structure name will be clearer
for readers since it gives a context where this type come from.

[1] 
http://subversion.apache.org/docs/community-guide/conventions.html#other-conventions

-- 
Ivan Zhakov

Reply via email to