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 )
           {

Reply via email to