summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorschnetter <schnetter@17b73243-c579-4c4c-a9d2-2d5706c11dac>2004-04-12 14:53:18 +0000
committerschnetter <schnetter@17b73243-c579-4c4c-a9d2-2d5706c11dac>2004-04-12 14:53:18 +0000
commitf2079dc85018c0314d5d0d6913a5973cfcf98077 (patch)
tree1fe77f753b3de659bcc0d58aa9d4802f65599272
parent550e319d8afd03c568a311bab08132e38bc70208 (diff)
Add macros *_FORTSTRING_LEN that allow C code to access the string
length. git-svn-id: http://svn.cactuscode.org/flesh/trunk@3659 17b73243-c579-4c4c-a9d2-2d5706c11dac
-rw-r--r--src/include/cctk_FortranString.h32
1 files changed, 31 insertions, 1 deletions
diff --git a/src/include/cctk_FortranString.h b/src/include/cctk_FortranString.h
index 5a5df53e..ba2d242d 100644
--- a/src/include/cctk_FortranString.h
+++ b/src/include/cctk_FortranString.h
@@ -31,7 +31,7 @@
_fcd cctk_str1, _fcd cctk_str2, _fcd cctk_str3
#define ONE_FORTSTRING_CREATE(arg1)\
- int cctk_strlen1 = _fcdlen(cctk_str1); \
+ int cctk_strlen1 = _fcdlen(cctk_str1);\
char *arg1 = Util_NullTerminateString(_fcdtocp(cctk_str1),cctk_strlen1);
#define TWO_FORTSTRING_CREATE(arg1,arg2)\
int cctk_strlen1 = _fcdlen(cctk_str1);\
@@ -56,6 +56,16 @@
char *arg2 = _fcdtocp(cctk_str2);\
char *arg3 = _fcdtocp(cctk_str3);
+#define ONE_FORTSTRING_LEN(len1)\
+ size_t len1 = _fcdlen(cctk_str1);
+#define TWO_FORTSTRING_LEN(len1,len2)\
+ size_t len1 = _fcdlen(cctk_str1);\
+ size_t len2 = _fcdlen(cctk_str2);
+#define THREE_FORTSTRING_LEN(len1,len2,len3)\
+ size_t len1 = _fcdlen(cctk_str1);\
+ size_t len2 = _fcdlen(cctk_str2);\
+ size_t len3 = _fcdlen(cctk_str3);
+
/* DEPRECATED BETA 10 */
#define TWO_FORTSTRINGS_ARGS\
_fcd cctk_str1, _fcd cctk_str2
@@ -112,6 +122,16 @@
char *arg2 = cctk_str2;\
char *arg3 = cctk_str3;
+#define ONE_FORTSTRING_LEN(len1)\
+ size_t len1 = cctk_strlen1;
+#define TWO_FORTSTRING_LEN(len1,len2)\
+ size_t len1 = cctk_strlen1;\
+ size_t len2 = cctk_strlen2;
+#define THREE_FORTSTRING_LEN(len1,len2,len3)\
+ size_t len1 = cctk_strlen1;\
+ size_t len2 = cctk_strlen2;\
+ size_t len3 = cctk_strlen3;
+
/* DEPRECATED BETA 10 */
#define TWO_FORTSTRINGS_ARGS\
char *cctk_str1, int cctk_strlen1, char *cctk_str2, int cctk_strlen2
@@ -169,6 +189,16 @@
char *arg2 = cctk_str2;\
char *arg3 = cctk_str3;
+#define ONE_FORTSTRING_LEN(len1)\
+ size_t len1 = cctk_strlen1;
+#define TWO_FORTSTRING_LEN(len1,len2)\
+ size_t len1 = cctk_strlen1;\
+ size_t len2 = cctk_strlen2;
+#define THREE_FORTSTRING_LEN(len1,len2,len3)\
+ size_t len1 = cctk_strlen1;\
+ size_t len2 = cctk_strlen2;\
+ size_t len3 = cctk_strlen3;
+
/* DEPRECATED BETA 10 */
#define TWO_FORTSTRINGS_ARGS\
char *cctk_str1,\