diff --git a/ChangeLog b/ChangeLog index 0603c80..761e3b6 100644 --- a/ChangeLog +++ b/ChangeLog @@ -4,6 +4,7 @@ Added some features and fixes - The size of indicator for VARYING fields can be set at runtime with an environment variable (GIXSQL_VARYING_LEN_SZ_SHORT) that must coincide with the size specifying when preprocessing (a new parameter -N/--varying-length-size has been added to gixpp). See here: https://github.com/mridoni/gixsql/issues/54#issuecomment-1712474368 - The handling of continuation lines has been fixed - Several pull requests by @GitMensch have been merged (thanks!!) that fix some memory bugs here and there +- PICTURE clauses are now also handled in lower-case (fixes #188) === v1.0.20b ====================================================== - Added SSL connection support for PostgreSQL @@ -76,16 +77,16 @@ Added some features and fixes === v1.0.17 ====================================================== - Added support for "smart" cursor initialization (#88) -- Added support for EXECUTE prepared-statement INTO #(87) -- Fixed a logging problem (#84) -- Fixed "wrong generated COBOL in 1.0.16" (#83) -- Fixed "missing "close" for spdlog?" (#82) +- Added support for EXECUTE prepared-statement INTO�#(87) +- Fixed a logging problem�(#84) +- Fixed "wrong generated COBOL in 1.0.16"�(#83) +- Fixed "missing "close" for spdlog?"�(#82) - Added support for using prepared statements in cursors (#81) - Variable length fields indicators are now 32-bit long by default (#80) - Added support for using variable length fields with prepared statements (#79) -- Added upport for using group fields in INSERT and SELECT..INTO statements (#6) -- Added support for more connection string formats (including ocesql compatibility) (#16) -- Added Support for DISCONNECT ALL (#89) +- Added upport for using group fields in INSERT and SELECT..INTO statements�(#6) +- Added support for more connection string formats (including ocesql compatibility)�(#16) +- Added Support for�DISCONNECT ALL�(#89) - Performed some refactoring to improve code size - Fixed a few memory leaks diff --git a/libgixpp/gix_esql_driver.cc b/libgixpp/gix_esql_driver.cc index 0d672ed..46234d4 100644 --- a/libgixpp/gix_esql_driver.cc +++ b/libgixpp/gix_esql_driver.cc @@ -1,6 +1,8 @@ /* -This file is part of Gix-IDE, an IDE and platform for GnuCOBOL -Copyright (C) 2021,2022 Marco Ridoni +This file is part of GixSQL, an ESQL preprocessor to enable GnuCOBOL +to access databases. + +Copyright (C) 2021-2024 Marco Ridoni This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -574,11 +576,13 @@ int gix_esql_driver::build_picture(const std::string str, cb_field_ptr pic) { if (pic == NULL || str.length() > 50) { /* arbitrary limit; note on implementation limits: COBOL85 (30), - COBOL2002 and most others (50), COBOL2014 (63), GC (255) */ + COBOL2002 and most others (50), COBOL2014+2024 (63), GC (255) */ return 0; } - const char *p = str.c_str(); + std::string str_u = str; + std::transform(str_u.begin(), str_u.end(), str_u.begin(), ::toupper); + const char *p = str_u.c_str(); int i; int n;