You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@apr.apache.org by br...@apache.org on 2003/01/03 10:05:29 UTC

cvs commit: apr CHANGES

brane       2003/01/03 01:05:29

  Modified:    include  apr_file_info.h
               file_io/win32 filepath.c
               file_io/unix filepath.c
               .        CHANGES
  Log:
  Added a new function, apr_filepath_encoding, to determine the character
  encoding used internally by the file_io and file_info functions. In most
  cases, the encoding is locale-dependent; on Windows, though, it's usually
  (but not always!) UTF-8.
  
  Revision  Changes    Path
  1.38      +26 -0     apr/include/apr_file_info.h
  
  Index: apr_file_info.h
  ===================================================================
  RCS file: /home/cvs/apr/include/apr_file_info.h,v
  retrieving revision 1.37
  retrieving revision 1.38
  diff -u -r1.37 -r1.38
  --- apr_file_info.h	1 Jan 2003 00:01:45 -0000	1.37
  +++ apr_file_info.h	3 Jan 2003 09:05:28 -0000	1.38
  @@ -406,6 +406,32 @@
    */
   APR_DECLARE(apr_status_t) apr_filepath_set(const char *path, apr_pool_t *p);
   
  +/**
  + * @defgroup apr_filepath_encoding FilePath Character encoding
  + * @{
  + */
  +
  +/** The FilePath character encoding is unknown */
  +#define APR_FILEPATH_ENCODING_UNKNOWN  0
  +
  +/** The FilePath character encoding is locale-dependent */
  +#define APR_FILEPATH_ENCODING_LOCALE   1
  +
  +/** The FilePath character encoding is UTF-8 */
  +#define APR_FILEPATH_ENCODING_UTF8     2
  +/** @} */
  +/**
  + * Determine the encoding used internally by the FilePath functions
  + * @ingroup apr_filepath_encoding
  + * @param style points to a variable which receives the encoding style flag
  + * @param p the pool to allocate any working storage
  + * @deffunc apr_status_t apr_filepath_encoding(int *style, apr_pool_t *p)
  + * @remark Use @c apr_os_locale_encoding and/or @c apr_os_default_encoding
  + * to get the name of the path encoding if it's not UTF-8.
  + */
  +APR_DECLARE(apr_status_t) apr_filepath_encoding(int *style, apr_pool_t *p);
  +
  +
   /** @} */
   
   #ifdef __cplusplus
  
  
  
  1.34      +15 -0     apr/file_io/win32/filepath.c
  
  Index: filepath.c
  ===================================================================
  RCS file: /home/cvs/apr/file_io/win32/filepath.c,v
  retrieving revision 1.33
  retrieving revision 1.34
  diff -u -r1.33 -r1.34
  --- filepath.c	1 Jan 2003 00:01:44 -0000	1.33
  +++ filepath.c	3 Jan 2003 09:05:28 -0000	1.34
  @@ -977,3 +977,18 @@
       (*newpath)[pathlen] = '\0';
       return APR_SUCCESS;
   }
  +
  +
  +APR_DECLARE(apr_status_t) apr_filepath_encoding(int *style, apr_pool_t *p)
  +{
  +#if APR_HAS_UNICODE_FS
  +    IF_WIN_OS_IS_UNICODE
  +    {
  +        *style = APR_FILEPATH_ENCODING_UTF8;
  +        return APR_SUCCESS;
  +    }
  +#endif
  +
  +    *style = APR_FILEPATH_ENCODING_LOCALE;
  +    return APR_SUCCESS;
  +}
  
  
  
  1.18      +7 -0      apr/file_io/unix/filepath.c
  
  Index: filepath.c
  ===================================================================
  RCS file: /home/cvs/apr/file_io/unix/filepath.c,v
  retrieving revision 1.17
  retrieving revision 1.18
  diff -u -r1.17 -r1.18
  --- filepath.c	1 Jan 2003 00:01:43 -0000	1.17
  +++ filepath.c	3 Jan 2003 09:05:28 -0000	1.18
  @@ -324,3 +324,10 @@
       *newpath = path;
       return APR_SUCCESS;
   }
  +
  +
  +APR_DECLARE(apr_status_t) apr_filepath_encoding(int *style, apr_pool_t *p)
  +{
  +    *style = APR_FILEPATH_ENCODING_LOCALE;
  +    return APR_SUCCESS;
  +}
  
  
  
  1.366     +3 -0      apr/CHANGES
  
  Index: CHANGES
  ===================================================================
  RCS file: /home/cvs/apr/CHANGES,v
  retrieving revision 1.365
  retrieving revision 1.366
  diff -u -r1.365 -r1.366
  --- CHANGES	23 Dec 2002 20:41:16 -0000	1.365
  +++ CHANGES	3 Jan 2003 09:05:28 -0000	1.366
  @@ -1,5 +1,8 @@
   Changes with APR 0.9.2
   
  +  *) Add function apr_filepath_encoding and associated constants.
  +     [Branko Cibej]
  +
     *) Allow apr_hash to have greater than int number of elements.
        [Justin Erenkrantz]