@@ -69,16 +69,16 @@ string_to_string(PyArrayMethod_Context *NPY_UNUSED(context),
6969 npy_intp in_stride = strides [0 ];
7070 npy_intp out_stride = strides [1 ];
7171
72- const ss * s = NULL ;
73- ss * os = NULL ;
72+ const npy_static_string * s = NULL ;
73+ npy_static_string * os = NULL ;
7474
7575 while (N -- ) {
76- s = (ss * )in ;
77- os = (ss * )out ;
76+ s = (npy_static_string * )in ;
77+ os = (npy_static_string * )out ;
7878 if (in != out ) {
79- ssfree (os );
80- if (ssdup (s , os ) < 0 ) {
81- gil_error (PyExc_MemoryError , "ssdup failed" );
79+ npy_string_free (os );
80+ if (npy_string_dup (s , os ) < 0 ) {
81+ gil_error (PyExc_MemoryError , "npy_string_dup failed" );
8282 return -1 ;
8383 }
8484 }
@@ -207,10 +207,10 @@ unicode_to_string(PyArrayMethod_Context *context, char *const data[],
207207 gil_error (PyExc_TypeError , "Invalid unicode code point found" );
208208 return -1 ;
209209 }
210- ss * out_ss = (ss * )out ;
211- ssfree (out_ss );
212- if (ssnewemptylen (out_num_bytes , out_ss ) < 0 ) {
213- gil_error (PyExc_MemoryError , "ssnewemptylen failed" );
210+ npy_static_string * out_ss = (npy_static_string * )out ;
211+ npy_string_free (out_ss );
212+ if (npy_string_newemptylen (out_num_bytes , out_ss ) < 0 ) {
213+ gil_error (PyExc_MemoryError , "npy_string_newemptylen failed" );
214214 return -1 ;
215215 }
216216 char * out_buf = out_ss -> buf ;
@@ -322,7 +322,7 @@ string_to_unicode(PyArrayMethod_Context *context, char *const data[],
322322 StringDTypeObject * descr = (StringDTypeObject * )context -> descriptors [0 ];
323323 int has_null = descr -> na_object != NULL ;
324324 int has_string_na = descr -> has_string_na ;
325- ss default_string = descr -> default_string ;
325+ npy_static_string default_string = descr -> default_string ;
326326 npy_intp N = dimensions [0 ];
327327 char * in = data [0 ];
328328 Py_UCS4 * out = (Py_UCS4 * )data [1 ];
@@ -332,13 +332,13 @@ string_to_unicode(PyArrayMethod_Context *context, char *const data[],
332332 // max number of 4 byte UCS4 characters that can fit in the output
333333 long max_out_size = (context -> descriptors [1 ]-> elsize ) / 4 ;
334334
335- const ss * s = NULL ;
335+ const npy_static_string * s = NULL ;
336336
337337 while (N -- ) {
338- s = (ss * )in ;
338+ s = (npy_static_string * )in ;
339339 unsigned char * this_string = NULL ;
340340 size_t n_bytes ;
341- if (ss_isnull (s )) {
341+ if (npy_string_isnull (s )) {
342342 if (has_null && !has_string_na ) {
343343 // lossy but not much else we can do
344344 this_string = (unsigned char * )descr -> na_name .buf ;
@@ -421,7 +421,7 @@ string_to_bool(PyArrayMethod_Context *context, char *const data[],
421421 StringDTypeObject * descr = (StringDTypeObject * )context -> descriptors [0 ];
422422 int has_null = descr -> na_object != NULL ;
423423 int has_string_na = descr -> has_string_na ;
424- ss default_string = descr -> default_string ;
424+ npy_static_string default_string = descr -> default_string ;
425425
426426 npy_intp N = dimensions [0 ];
427427 char * in = data [0 ];
@@ -430,11 +430,11 @@ string_to_bool(PyArrayMethod_Context *context, char *const data[],
430430 npy_intp in_stride = strides [0 ];
431431 npy_intp out_stride = strides [1 ];
432432
433- const ss * s = NULL ;
433+ const npy_static_string * s = NULL ;
434434
435435 while (N -- ) {
436- s = (ss * )in ;
437- if (ss_isnull (s )) {
436+ s = (npy_static_string * )in ;
437+ if (npy_string_isnull (s )) {
438438 if (has_null && !has_string_na ) {
439439 // numpy treats NaN as truthy, following python
440440 * out = (npy_bool )1 ;
@@ -479,17 +479,17 @@ bool_to_string(PyArrayMethod_Context *NPY_UNUSED(context), char *const data[],
479479 npy_intp out_stride = strides [1 ];
480480
481481 while (N -- ) {
482- ss * out_ss = (ss * )out ;
483- ssfree (out_ss );
482+ npy_static_string * out_ss = (npy_static_string * )out ;
483+ npy_string_free (out_ss );
484484 if ((npy_bool )(* in ) == 1 ) {
485- if (ssnewlen ("True" , 4 , out_ss ) < 0 ) {
486- gil_error (PyExc_MemoryError , "ssnewlen failed" );
485+ if (npy_string_newlen ("True" , 4 , out_ss ) < 0 ) {
486+ gil_error (PyExc_MemoryError , "npy_string_newlen failed" );
487487 return -1 ;
488488 }
489489 }
490490 else if ((npy_bool )(* in ) == 0 ) {
491- if (ssnewlen ("False" , 5 , out_ss ) < 0 ) {
492- gil_error (PyExc_MemoryError , "ssnewlen failed" );
491+ if (npy_string_newlen ("False" , 5 , out_ss ) < 0 ) {
492+ gil_error (PyExc_MemoryError , "npy_string_newlen failed" );
493493 return -1 ;
494494 }
495495 }
@@ -517,8 +517,8 @@ static char *b2s_name = "cast_Bool_to_StringDType";
517517static PyObject *
518518string_to_pylong (char * in , int hasnull )
519519{
520- const ss * s = (ss * )in ;
521- if (ss_isnull (s )) {
520+ const npy_static_string * s = (npy_static_string * )in ;
521+ if (npy_string_isnull (s )) {
522522 if (hasnull ) {
523523 PyErr_SetString (PyExc_ValueError ,
524524 "Arrays with missing data cannot be converted to "
@@ -585,10 +585,10 @@ pyobj_to_string(PyObject *obj, char *out)
585585 if (cstr_val == NULL ) {
586586 return -1 ;
587587 }
588- ss * out_ss = (ss * )out ;
589- ssfree (out_ss );
590- if (ssnewlen (cstr_val , length , out_ss ) < 0 ) {
591- PyErr_SetString (PyExc_MemoryError , "ssnewlen failed" );
588+ npy_static_string * out_ss = (npy_static_string * )out ;
589+ npy_string_free (out_ss );
590+ if (npy_string_newlen (cstr_val , length , out_ss ) < 0 ) {
591+ PyErr_SetString (PyExc_MemoryError , "npy_string_newlen failed" );
592592 Py_DECREF (pystr_val );
593593 return -1 ;
594594 }
@@ -769,8 +769,8 @@ STRING_INT_CASTS(ulonglong, uint, ulonglong, NPY_ULONGLONG, llu, npy_ulonglong,
769769static PyObject *
770770string_to_pyfloat (char * in , int hasnull )
771771{
772- const ss * s = (ss * )in ;
773- if (ss_isnull (s )) {
772+ const npy_static_string * s = (npy_static_string * )in ;
773+ if (npy_string_isnull (s )) {
774774 if (hasnull ) {
775775 PyErr_SetString (PyExc_ValueError ,
776776 "Arrays with missing data cannot be converted to "
@@ -975,7 +975,7 @@ string_to_datetime(PyArrayMethod_Context *context, char *const data[],
975975 StringDTypeObject * descr = (StringDTypeObject * )context -> descriptors [0 ];
976976 int has_null = descr -> na_object != NULL ;
977977 int has_string_na = descr -> has_string_na ;
978- ss default_string = descr -> default_string ;
978+ npy_static_string default_string = descr -> default_string ;
979979
980980 npy_intp N = dimensions [0 ];
981981 char * in = data [0 ];
@@ -984,7 +984,7 @@ string_to_datetime(PyArrayMethod_Context *context, char *const data[],
984984 npy_intp in_stride = strides [0 ];
985985 npy_intp out_stride = strides [1 ] / sizeof (npy_datetime );
986986
987- const ss * s = NULL ;
987+ const npy_static_string * s = NULL ;
988988 npy_datetimestruct dts ;
989989 NPY_DATETIMEUNIT in_unit = -1 ;
990990 PyArray_DatetimeMetaData in_meta = {0 , 1 };
@@ -995,8 +995,8 @@ string_to_datetime(PyArrayMethod_Context *context, char *const data[],
995995 & (((PyArray_DatetimeDTypeMetaData * )dt_descr -> c_metadata )-> meta );
996996
997997 while (N -- ) {
998- s = (ss * )in ;
999- if (ss_isnull (s )) {
998+ s = (npy_static_string * )in ;
999+ if (npy_string_isnull (s )) {
10001000 if (has_null && !has_string_na ) {
10011001 * out = NPY_DATETIME_NAT ;
10021002 goto next_step ;
@@ -1051,8 +1051,8 @@ datetime_to_string(PyArrayMethod_Context *context, char *const data[],
10511051 char datetime_buf [NPY_DATETIME_MAX_ISO8601_STRLEN ];
10521052
10531053 while (N -- ) {
1054- ss * out_ss = (ss * )out ;
1055- ssfree (out_ss );
1054+ npy_static_string * out_ss = (npy_static_string * )out ;
1055+ npy_string_free (out_ss );
10561056 if (* in == NPY_DATETIME_NAT ) {
10571057 /* convert to NA */
10581058 out_ss = NULL ;
@@ -1072,8 +1072,9 @@ datetime_to_string(PyArrayMethod_Context *context, char *const data[],
10721072 return -1 ;
10731073 }
10741074
1075- if (ssnewlen (datetime_buf , strlen (datetime_buf ), out_ss ) < 0 ) {
1076- PyErr_SetString (PyExc_MemoryError , "ssnewlen failed" );
1075+ if (npy_string_newlen (datetime_buf , strlen (datetime_buf ), out_ss ) <
1076+ 0 ) {
1077+ PyErr_SetString (PyExc_MemoryError , "npy_string_newlen failed" );
10771078 return -1 ;
10781079 }
10791080 }
0 commit comments