If there isn't a pending need, delete it. No point in caring forward API baggage if we don't need to.
-Hyrum On Fri, May 27, 2011 at 3:40 AM, Daniel Shahaf <d...@daniel.shahaf.name> wrote: > Yes, I disable deprecation warnings in my build. (and I indeed didn't do > the "update existing callers" dance this time) > > I'm happy to go and remove the deprecation decorators from the old API, > if people prefer that. I'm not sure what to do with the new API --- > it's unused currently (other than the call from deprecated.c), so I'm > not sure it should even remain as a public API. > > Greg Stein wrote on Fri, May 27, 2011 at 05:51:16 -0400: >> There are a lot of callers for the old API. >> >> I'm kind of with Hyrum here. This new API isn't so much a >> next-generation, as it is an API serving different needs. Or more >> specifically: the old API of "provide a 'const char *'" is still >> entirely valid. >> >> There are a bunch of warnings in the build for the (deprecated) calls >> to the old API. By any chance, do you disable those in your build? I >> know that you've been working hard on watching errors, so I'm >> surprised you didn't see those. ? >> >> Cheers, >> -g >> >> On Tue, May 17, 2011 at 08:45, Daniel Shahaf <d...@daniel.shahaf.name> wrote: >> > Don't know; I haven't examined existing callers. >> > >> > It also turns out that I may not need the new (revv'd) API at all --- >> > went a different way in the patch I'm working on --- so I may, after >> > all, not add a user of the new API today (as I'd planned to). >> > >> > Hyrum K Wright wrote on Tue, May 17, 2011 at 11:20:59 +0000: >> >> Are there still valid use cases for the normal cstring case? If so, >> >> we shouldn't be deprecating the old API, but rather adding a distinct >> >> API. >> >> >> >> -Hyrum >> >> >> >> On Tue, May 17, 2011 at 10:55 AM, <danie...@apache.org> wrote: >> >> > Author: danielsh >> >> > Date: Tue May 17 10:55:51 2011 >> >> > New Revision: 1104124 >> >> > >> >> > URL: http://svn.apache.org/viewvc?rev=1104124&view=rev >> >> > Log: >> >> > Revv the svn_io_file_create() API to take non-NUL-terminated strings. >> >> > >> >> > * subversion/include/svn_io.h >> >> > (svn_io_file_create2): New. >> >> > (svn_io_file_create): Deprecate. >> >> > >> >> > * subversion/libsvn_subr/io.c >> >> > (svn_io_file_create2): Renamed from svn_io_file_create(). >> >> > >> >> > * subversion/libsvn_subr/deprecated.c >> >> > (svn_io_file_create): New wrapper. >> >> > >> >> > Modified: >> >> > subversion/trunk/subversion/include/svn_io.h >> >> > subversion/trunk/subversion/libsvn_subr/deprecated.c >> >> > subversion/trunk/subversion/libsvn_subr/io.c >> >> > >> >> > Modified: subversion/trunk/subversion/include/svn_io.h >> >> > URL: >> >> > http://svn.apache.org/viewvc/subversion/trunk/subversion/include/svn_io.h?rev=1104124&r1=1104123&r2=1104124&view=diff >> >> > ============================================================================== >> >> > --- subversion/trunk/subversion/include/svn_io.h (original) >> >> > +++ subversion/trunk/subversion/include/svn_io.h Tue May 17 10:55:51 >> >> > 2011 >> >> > @@ -645,7 +645,20 @@ svn_io_files_contents_same_p(svn_boolean >> >> > /** Create file at utf8-encoded @a file with contents @a contents. >> >> > * @a file must not already exist. >> >> > * Use @a pool for memory allocations. >> >> > + * >> >> > + * @since New in 1.7. >> >> > + */ >> >> > +svn_error_t * >> >> > +svn_io_file_create2(const char *file, >> >> > + const svn_string_t *contents, >> >> > + apr_pool_t *scratch_pool); >> >> > + >> >> > +/** Like svn_io_file_create2(), but with a C string instead >> >> > + * of an #svn_string_t. >> >> > + * >> >> > + * @deprecated Provided for backward compatibility with the 1.6 API. >> >> > */ >> >> > +SVN_DEPRECATED >> >> > svn_error_t * >> >> > svn_io_file_create(const char *file, >> >> > const char *contents, >> >> > >> >> > Modified: subversion/trunk/subversion/libsvn_subr/deprecated.c >> >> > URL: >> >> > http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_subr/deprecated.c?rev=1104124&r1=1104123&r2=1104124&view=diff >> >> > ============================================================================== >> >> > --- subversion/trunk/subversion/libsvn_subr/deprecated.c (original) >> >> > +++ subversion/trunk/subversion/libsvn_subr/deprecated.c Tue May 17 >> >> > 10:55:51 2011 >> >> > @@ -630,6 +630,17 @@ svn_opt_print_generic_help(const char *h >> >> > >> >> > /*** From io.c ***/ >> >> > svn_error_t * >> >> > +svn_io_file_create(const char *file, >> >> > + const char *contents, >> >> > + apr_pool_t *pool) >> >> > +{ >> >> > + const svn_string_t *contents_string; >> >> > + >> >> > + contents_string = (contents ? svn_string_create(contents, pool) : >> >> > NULL); >> >> > + return svn_io_file_create2(file, contents_string, pool); >> >> > +} >> >> > + >> >> > +svn_error_t * >> >> > svn_io_open_unique_file2(apr_file_t **file, >> >> > const char **temp_path, >> >> > const char *path, >> >> > >> >> > Modified: subversion/trunk/subversion/libsvn_subr/io.c >> >> > URL: >> >> > http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_subr/io.c?rev=1104124&r1=1104123&r2=1104124&view=diff >> >> > ============================================================================== >> >> > --- subversion/trunk/subversion/libsvn_subr/io.c (original) >> >> > +++ subversion/trunk/subversion/libsvn_subr/io.c Tue May 17 10:55:51 >> >> > 2011 >> >> > @@ -1092,9 +1092,9 @@ svn_io_make_dir_recursively(const char * >> >> > return SVN_NO_ERROR; >> >> > } >> >> > >> >> > -svn_error_t *svn_io_file_create(const char *file, >> >> > - const char *contents, >> >> > - apr_pool_t *pool) >> >> > +svn_error_t *svn_io_file_create2(const char *file, >> >> > + const svn_string_t *contents, >> >> > + apr_pool_t *pool) >> >> > { >> >> > apr_file_t *f; >> >> > apr_size_t written; >> >> > @@ -1104,8 +1104,8 @@ svn_error_t *svn_io_file_create(const ch >> >> > (APR_WRITE | APR_CREATE | APR_EXCL), >> >> > APR_OS_DEFAULT, >> >> > pool)); >> >> > - if (contents && *contents) >> >> > - err = svn_io_file_write_full(f, contents, strlen(contents), >> >> > + if (contents && contents->len) >> >> > + err = svn_io_file_write_full(f, contents->data, contents->len, >> >> > &written, pool); >> >> > >> >> > >> >> > >> >> > >> >> > >> > >