[Python-checkins] CVS: python/dist/src/Include ucnhash.h,1.3,1.4

Fredrik Lundh effbot@users.sourceforge.net
Fri, 19 Jan 2001 01:45:05 -0800


Update of /cvsroot/python/python/dist/src/Include
In directory usw-pr-cvs1:/tmp/cvs-serv31607/Include

Modified Files:
	ucnhash.h 
Log Message:


refactored the unicodeobject/ucnhash interface, to hide the
implementation details inside the ucnhash module.

also cleaned up the unicode copyright blurb a little; Secret Labs'
internal revision history isn't that interesting...


Index: ucnhash.h
===================================================================
RCS file: /cvsroot/python/python/dist/src/Include/ucnhash.h,v
retrieving revision 1.3
retrieving revision 1.4
diff -C2 -r1.3 -r1.4
*** ucnhash.h	2000/07/07 17:45:37	1.3
--- ucnhash.h	2001/01/19 09:45:02	1.4
***************
*** 1,20 ****
  
! #include "Python.h"
! #include <stdlib.h>
  
! /* --- C API ----------------------------------------------------*/
! /* C API for usage by other Python modules */
! typedef struct _Py_UCNHashAPI
! {
!     unsigned long cKeys;
!     unsigned long cchMax;
!     unsigned long (*hash)(const char *key, unsigned int cch);
!     const void *(*getValue)(unsigned long iKey);
! } _Py_UCNHashAPI;
! 
! typedef struct 
! {
!     const char *pszUCN;
!     Py_UCS4 value;
! } _Py_UnicodeCharacterName;
  
--- 1,29 ----
+ /* Unicode name database interface */
  
! #ifndef Py_UCNHASH_H
! #define Py_UCNHASH_H
! #ifdef __cplusplus
! extern "C" {
! #endif
  
! /* revised ucnhash CAPI interface (exported through a PyCObject) */
  
+ typedef struct {
+ 
+     /* Size of this struct */
+     int size;
+ 
+     /* Get name for a given character code.  Returns non-zero if
+        success, zero if not.  Does not set Python exceptions. */
+     int (*getname)(Py_UCS4 code, char* buffer, int buflen);
+ 
+     /* Get character code for a given name.  Same error handling
+        as for getname. */
+     int (*getcode)(const char* name, int namelen, Py_UCS4* code);
+ 
+ } _PyUnicode_Name_CAPI;
+ 
+ #ifdef __cplusplus
+ }
+ #endif
+ #endif /* !Py_UCNHASH_H */