1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108
|
From 4b930bd00e83d2ff5404748dc04cb75f420f99e9 Mon Sep 17 00:00:00 2001
From: Scot Breitenfeld <brtnfld@hdfgroup.org>
Date: Sun, 12 Oct 2025 22:39:23 -0500
Subject: [PATCH 1/2] switched to using MAX_LEN since LEN_TRIM would be an
issue if the string is all blanks
---
src/cgns_f.F90 | 24 ++++++++++++------------
1 file changed, 12 insertions(+), 12 deletions(-)
Index: libcgns/src/cgns_f.F90
===================================================================
--- libcgns.orig/src/cgns_f.F90 2025-10-13 11:10:23.563029930 +0200
+++ libcgns/src/cgns_f.F90 2025-10-13 11:10:23.562694325 +0200
@@ -6576,11 +6576,11 @@
INTEGER, INTENT(IN) :: fn
INTEGER, INTENT(IN) :: B
INTEGER, INTENT(IN) :: P
- CHARACTER(LEN=*) , INTENT(INOUT) :: particlename
+ CHARACTER(LEN=*) , INTENT(OUT) :: particlename
INTEGER(CGSIZE_T), INTENT(OUT) :: nsize
INTEGER, INTENT(OUT) :: ier
- CHARACTER(LEN=LEN_TRIM(particlename)+1,KIND=C_CHAR) :: c_particlename
+ CHARACTER(len=1, kind=C_CHAR) :: c_particlename(MAX_LEN+1)
INTERFACE
INTEGER(C_INT) FUNCTION cg_particle_read(fn, B, P, particlename, nsize) BIND(C, NAME="cg_particle_read")
@@ -6701,10 +6701,10 @@
INTEGER, INTENT(IN) :: B
INTEGER, INTENT(IN) :: P
INTEGER, INTENT(IN) :: C
- CHARACTER(LEN=*) :: pcoord_name
+ CHARACTER(LEN=*), INTENT(OUT) :: pcoord_name
INTEGER, INTENT(OUT) :: ier
- CHARACTER(LEN=LEN_TRIM(pcoord_name)+1, KIND=C_CHAR) :: c_pcoord_name
+ CHARACTER(len=1, kind=C_CHAR) :: c_pcoord_name(MAX_LEN+1)
INTERFACE
INTEGER(C_INT) FUNCTION cg_particle_coord_node_read(fn, B, P, C, pcoord_name) BIND(C, NAME="cg_particle_coord_node_read")
@@ -6862,11 +6862,11 @@
INTEGER, INTENT(IN) :: P
INTEGER, INTENT(IN) :: C
INTEGER(cgenum_t), INTENT(OUT) :: datatype
- CHARACTER(LEN=*) :: coordname
+ CHARACTER(LEN=*), INTENT(OUT) :: coordname
INTEGER, INTENT(OUT) :: ier
INTEGER(C_INT) :: c_datatype
- CHARACTER(LEN=LEN_TRIM(coordname)+1, KIND=C_CHAR) :: c_coordname
+ CHARACTER(len=1, kind=C_CHAR) :: c_coordname(MAX_LEN+1)
INTERFACE
INTEGER(C_INT) FUNCTION cg_particle_coord_info(fn, B, P, C, datatype, coordname) BIND(C, NAME="cg_particle_coord_info")
@@ -7094,10 +7094,10 @@
INTEGER, INTENT(IN) :: B
INTEGER, INTENT(IN) :: P
INTEGER, INTENT(IN) :: S
- CHARACTER(LEN=*) :: solname
+ CHARACTER(LEN=*), INTENT(OUT) :: solname
INTEGER, INTENT(OUT) :: ier
- CHARACTER(LEN=LEN_TRIM(solname)+1,KIND=C_CHAR) :: c_solname
+ CHARACTER(len=1, kind=C_CHAR) :: c_solname(MAX_LEN+1)
INTERFACE
INTEGER(C_INT) FUNCTION cg_particle_sol_info(fn, B, P, S, solname) BIND(C, NAME="cg_particle_sol_info")
@@ -7356,10 +7356,10 @@
INTEGER, INTENT(IN) :: S
INTEGER, INTENT(IN) :: F
INTEGER(cgenum_t), INTENT(OUT) :: datatype
- CHARACTER(LEN=*), INTENT(INOUT) :: fieldname
+ CHARACTER(LEN=*), INTENT(OUT) :: fieldname
INTEGER, INTENT(OUT) :: ier
- CHARACTER(LEN=LEN_TRIM(fieldname)+1, KIND=C_CHAR) :: c_fieldname
+ CHARACTER(len=1, kind=C_CHAR) :: c_fieldname(MAX_LEN+1)
INTERFACE
INTEGER(C_INT) FUNCTION cg_particle_field_info(fn, B, P, S, F, datatype, fieldname) BIND(C, NAME="cg_particle_field_info")
@@ -7510,10 +7510,10 @@
INTEGER, INTENT(IN) :: fn
INTEGER, INTENT(IN) :: B
INTEGER, INTENT(IN) :: P
- CHARACTER(LEN=*), INTENT(INOUT) :: pitername
+ CHARACTER(LEN=*), INTENT(OUT) :: pitername
INTEGER, INTENT(OUT) :: ier
- CHARACTER(LEN=LEN_TRIM(pitername)+1, KIND=C_CHAR) :: c_pitername
+ CHARACTER(len=1, kind=C_CHAR) :: c_pitername(MAX_LEN+1)
INTERFACE
INTEGER(C_INT) FUNCTION cg_piter_read(fn, B, P, pitername) &
@@ -7699,11 +7699,11 @@
!DEC$endif
SUBROUTINE cg_particle_model_read_f(ModelLabel, ModelType, ier)
IMPLICIT NONE
- CHARACTER(LEN=*) , INTENT(INOUT) :: ModelLabel
+ CHARACTER(LEN=*), INTENT(OUT) :: ModelLabel
INTEGER(CGENUM_T), INTENT(OUT) :: ModelType
INTEGER, INTENT(OUT) :: ier
- CHARACTER(LEN=LEN_TRIM(ModelLabel)+1,KIND=C_CHAR) :: c_ModelLabel
+ CHARACTER(len=1, kind=C_CHAR) :: c_ModelLabel(MAX_LEN+1)
INTERFACE
INTEGER(C_INT) FUNCTION cg_particle_model_read(ModelLabel, ModelType) &
|