valconf.cc doesn't compile on Solaris: cobol/valconv.cc: In function ‘bool __gg__string_to_numeric_edited(char*, char*, int, int, const char*)’: cobol/valconv.cc:856:40: error: ‘index’ was not declared in this scope; did you mean ‘Rindex’? 856 | const char *decimal_location = index(dest, __gg__decimal_point); | ^~~~~ | Rindex
On Solaris, it's only declared in <strings.h>. While one could get that included, it's way easier to just use strchr as is already the case in other instances. Bootstrapped without regressions on amd64-pc-solaris2.11, sparcv9-sun-solaris2.11, and x86_64-pc-linux-gnu. Ok for trunk? Rainer -- ----------------------------------------------------------------------------- Rainer Orth, Center for Biotechnology, Bielefeld University 2025-04-08 Rainer Orth <r...@cebitec.uni-bielefeld.de> libgcobol: * valconv.cc (__gg__string_to_numeric_edited): Use strchr instead of index.
# HG changeset patch # Parent be296f4eb243c38e35fea662a602703491faa67a libgcobol: Use strchr instead of index diff --git a/libgcobol/valconv.cc b/libgcobol/valconv.cc --- a/libgcobol/valconv.cc +++ b/libgcobol/valconv.cc @@ -853,14 +853,14 @@ got_float: } else { - const char *decimal_location = index(dest, __gg__decimal_point); + const char *decimal_location = strchr(dest, __gg__decimal_point); if( !decimal_location ) { - decimal_location = index(dest, ascii_v); + decimal_location = strchr(dest, ascii_v); } if( !decimal_location ) { - decimal_location = index(dest, ascii_V); + decimal_location = strchr(dest, ascii_V); } if( !decimal_location ) {