* subversion/libsvn_subr/time.c:
(svn_time_to_human_cstring) Despite its name (cstring) it is needed
that this function return an UTF8 string. So there's the need to
convert
the human-readable part, which can come encoded in the current
locale's charset.
Index: subversion/libsvn_subr/time.c
===================================================================
--- subversion/libsvn_subr/time.c (revision 9284)
+++ subversion/libsvn_subr/time.c (working copy)
@@ -24,6 +24,7 @@
#include <apr_time.h>
#include <apr_strings.h>
#include "svn_time.h"
+#include "svn_utf.h"
@@ -226,7 +227,7 @@
apr_time_exp_t exploded_time;
apr_size_t len, retlen;
apr_status_t ret;
- char *datestr, *curptr;
+ char *datestr, *curptr, human_datestr[SVN_TIME__MAX_LENGTH];
/* Get the time into parts */
apr_time_exp_lt (&exploded_time, when);
@@ -255,7 +256,7 @@
curptr = datestr + len;
/* Put in human explanatory part */
- ret = apr_strftime (curptr,
+ ret = apr_strftime (human_datestr,
&retlen,
SVN_TIME__MAX_LENGTH - len,
human_timestamp_format_suffix,
@@ -264,7 +265,21 @@
/* If there was an error, ensure that the string is zero-terminated. */
if (ret || retlen == 0)
*curptr = '\0';
+ else
+ {
+ const char *utf8_string;
+ svn_error_t *err;
+ err = svn_utf_cstring_to_utf8(&utf8_string, human_datestr, pool);
+ if(err)
+ {
+ *curptr = '\0';
+ svn_error_clear(err);
+ }
+ else
+ apr_cpystrn(curptr, utf8_string, SVN_TIME__MAX_LENGTH - len);
+ }
+
return datestr;
}
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Sun Apr 4 21:28:40 2004