[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: svn commit: r1415451 [1/9] - in /subversion/branches/fsfs-format7/subversion/libsvn_fs_fs: fs.c fs_fs.c fs_fs.h low_level.c low_level.h rep-cache.c revprops.c revprops.h util.c util.h

From: Peter Samuelson <peter_at_p12n.org>
Date: Thu, 29 Nov 2012 20:52:24 -0600

[stefan2_at_apache.org]
> * subversion/libsvn_fs_fs/util.h
> (RECOVERABLE_RETRY_COUNT,
    [...]
> move_into_place): lib-locally declare functions previously
> private in fs_fs.c

This is a problem - on many OSes[*], all global functions and variables
that are not 'static', i.e., anything not file-scoped, are exported and
available to third parties from the shared library. We don't want to
export something like move_into_place() or read_content(), even if we
don't declare it in a header file. This is what the fs_fs__ prefix,
with double underscore, is for.

Peter

[*] On ELF platforms such as Linux, it is generally possible to have a
    symbol private to a library but not file-scoped, but I'm pretty
    sure we don't use this ability. On other non-ELF Unix platforms,
    this may not be possible at all. On Windows, I guess symbols are
    always exported explicitly to a DLL.
Received on 2012-11-30 03:53:04 CET

This is an archived mail posted to the Subversion Dev mailing list.