From 61c5b76b96e4656def98c694b2474ec374a19a9d Mon Sep 17 00:00:00 2001 From: James Tappin Date: Thu, 4 Oct 2012 10:58:45 -0600 Subject: [PATCH] Fix issues with converting empty strings --- src/gtk-sup.f90 | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/src/gtk-sup.f90 b/src/gtk-sup.f90 index 0476f7c1..e09e0f66 100644 --- a/src/gtk-sup.f90 +++ b/src/gtk-sup.f90 @@ -622,8 +622,12 @@ subroutine convert_f_string_a(f_string, textptr, length) lcstr = sum(lfstr) do i = 1, size(f_string) - if (f_string(i)(lfstr(i):lfstr(i)) /= c_null_char .and. & - & f_string(i)(lfstr(i):lfstr(i)) /= c_new_line) lcstr = lcstr+1 + if (lfstr(i) == 0) then + lcstr = lcstr+1 + else if (f_string(i)(lfstr(i):lfstr(i)) /= c_null_char .and. & + & f_string(i)(lfstr(i):lfstr(i)) /= c_new_line) then + lcstr = lcstr+1 + end if end do allocate(textptr(lcstr)) @@ -663,7 +667,10 @@ subroutine convert_f_string_s(f_string, textptr, length) logical :: add_null lcstr = len_trim(f_string) - if (f_string(lcstr:lcstr) == c_null_char) then + if (lcstr == 0) then + lcstr = lcstr+1 + add_null = .true. + else if (f_string(lcstr:lcstr) /= c_null_char) then lcstr = lcstr+1 add_null = .true. else