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

Re: svn commit: r30782 - in branches/kwallet/subversion: include libsvn_subr

From: Arfrever Frehtes Taifersar Arahesis <arfrever.fta_at_gmail.com>
Date: Sun, 27 Apr 2008 01:58:46 +0200

2008-04-26 22:01:00 Branko Čibej napisał(a):
> Arfrever Frehtes Taifersar Arahesis wrote:
> > 2008-04-25 23:03:17 Stefan Sperling napisał(a):
> >
> >> This function needs some sort of prefix since it's not static
> >> anymore, doesn't it? Or are the rules for libsvn_subr different?
> >>
> >
> > I'm getting compilation failure when these functions are declared as static:
> >
>
> I'd like to point out that we've managed to do the Windows- and
> Mac-specific crypto providers without exposing internal helper functions
> to the wide world. Please do the same for Kwallet.

simple_providers_cpp.cpp contains these functions:
  static kwallet_password_get() (must be defined in C++)
  static kwallet_password_set() (must be defined in C++)
  static kwallet_simple_first_creds()
  static kwallet_simple_save_creds()
  svn_auth_get_kwallet_simple_provider()

simple_first_creds_helper() and simple_save_creds_helper() are defined in
simple_providers.c and are used by some functions in this file. If they need
to be static then the only solution is probably to rename simple_providers.c
to simple_providers.cpp, fix some casts to avoid compilation errors [1] and
merge simple_providers_cpp.cpp to simple_providers.c.

[1]:
/bin/sh ${working_copy}/libtool --tag=CXX --silent --mode=compile g++ ${some_options} -o subversion/libsvn_subr/simple_providers.lo -c subversion/libsvn_subr/simple_providers.cpp
subversion/libsvn_subr/simple_providers.cpp: In function ‘svn_boolean_t simple_password_get(const char**, apr_hash_t*, const char*, const char*, svn_boolean_t, apr_pool_t*)’:
subversion/libsvn_subr/simple_providers.cpp:62: error: invalid conversion from ‘void*’ to ‘svn_string_t*’
subversion/libsvn_subr/simple_providers.cpp: In function ‘svn_error_t* svn_simple_providers__simple_first_creds_helper(void**, void**, void*, apr_hash_t*, const char*, svn_boolean_t (*)(const char**, apr_hash_t*, const char*, const char*, svn_boolean_t, apr_pool_t*), const char*, apr_pool_t*)’:
subversion/libsvn_subr/simple_providers.cpp:104: error: invalid conversion from ‘void*’ to ‘const char*’
subversion/libsvn_subr/simple_providers.cpp:107: error: invalid conversion from ‘void*’ to ‘const char*’
subversion/libsvn_subr/simple_providers.cpp:110: error: invalid conversion from ‘void*’ to ‘const char*’
subversion/libsvn_subr/simple_providers.cpp:138: error: invalid conversion from ‘void*’ to ‘svn_string_t*’
subversion/libsvn_subr/simple_providers.cpp:151: error: invalid conversion from ‘void*’ to ‘svn_string_t*’
subversion/libsvn_subr/simple_providers.cpp:179: error: invalid conversion from ‘void*’ to ‘svn_auth_cred_simple_t*’
subversion/libsvn_subr/simple_providers.cpp: In function ‘svn_error_t* svn_simple_providers__simple_save_creds_helper(svn_boolean_t*, void*, void*, apr_hash_t*, const char*, svn_boolean_t (*)(apr_hash_t*, const char*, const char*, const char*, svn_boolean_t, apr_pool_t*), const char*, apr_pool_t*)’:
subversion/libsvn_subr/simple_providers.cpp:209: error: invalid conversion from ‘void*’ to ‘svn_auth_cred_simple_t*’
subversion/libsvn_subr/simple_providers.cpp:235: error: invalid conversion from ‘void*’ to ‘const char*’
subversion/libsvn_subr/simple_providers.cpp: In function ‘void svn_auth_get_simple_provider(svn_auth_provider_object_t**, apr_pool_t*)’:
subversion/libsvn_subr/simple_providers.cpp:331: error: invalid conversion from ‘void*’ to ‘svn_auth_provider_object_t*’
subversion/libsvn_subr/simple_providers.cpp: In function ‘svn_error_t* prompt_for_simple_creds(svn_auth_cred_simple_t**, simple_prompt_provider_baton_t*, apr_hash_t*, const char*, svn_boolean_t, svn_boolean_t, apr_pool_t*)’:
subversion/libsvn_subr/simple_providers.cpp:382: error: invalid conversion from ‘void*’ to ‘const char*’
subversion/libsvn_subr/simple_providers.cpp:389: error: invalid conversion from ‘void*’ to ‘const char*’
subversion/libsvn_subr/simple_providers.cpp:401: error: invalid conversion from ‘void*’ to ‘svn_string_t*’
subversion/libsvn_subr/simple_providers.cpp:413: error: invalid conversion from ‘void*’ to ‘const char*’
subversion/libsvn_subr/simple_providers.cpp:424: error: invalid conversion from ‘void*’ to ‘svn_auth_cred_simple_t*’
subversion/libsvn_subr/simple_providers.cpp: In function ‘svn_error_t* simple_prompt_first_creds(void**, void**, void*, apr_hash_t*, const char*, apr_pool_t*)’:
subversion/libsvn_subr/simple_providers.cpp:449: error: invalid conversion from ‘void*’ to ‘simple_prompt_provider_baton_t*’
subversion/libsvn_subr/simple_providers.cpp:450: error: invalid conversion from ‘void*’ to ‘simple_prompt_iter_baton_t*’
subversion/libsvn_subr/simple_providers.cpp:453: error: invalid conversion from ‘void*’ to ‘const char*’
subversion/libsvn_subr/simple_providers.cpp: In function ‘svn_error_t* simple_prompt_next_creds(void**, void*, void*, apr_hash_t*, const char*, apr_pool_t*)’:
subversion/libsvn_subr/simple_providers.cpp:476: error: invalid conversion from ‘void*’ to ‘simple_prompt_iter_baton_t*’
subversion/libsvn_subr/simple_providers.cpp:477: error: invalid conversion from ‘void*’ to ‘simple_prompt_provider_baton_t*’
subversion/libsvn_subr/simple_providers.cpp:480: error: invalid conversion from ‘void*’ to ‘const char*’
subversion/libsvn_subr/simple_providers.cpp: In function ‘void svn_auth_get_simple_prompt_provider(svn_auth_provider_object_t**, svn_error_t* (*)(svn_auth_cred_simple_t**, void*, const char*, const char*, svn_boolean_t, apr_pool_t*), void*, int, apr_pool_t*)’:
subversion/libsvn_subr/simple_providers.cpp:515: error: invalid conversion from ‘void*’ to ‘svn_auth_provider_object_t*’
subversion/libsvn_subr/simple_providers.cpp:516: error: invalid conversion from ‘void*’ to ‘simple_prompt_provider_baton_t*’
make: *** [subversion/libsvn_subr/simple_providers.lo] Error 1

-- 
Arfrever Frehtes Taifersar Arahesis

Received on 2008-04-27 02:03:42 CEST

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

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.