From 48512f5d2e180d2086162cdf06c96098e6de96d7 Mon Sep 17 00:00:00 2001 From: Jeffrey Armstrong Date: Wed, 3 Jun 2020 17:26:03 -0400 Subject: Added true error conditions to block infinite requests on failure. --- main.F90 | 7 ++++++- protocol.f90 | 11 ++++++++++- 2 files changed, 16 insertions(+), 2 deletions(-) diff --git a/main.F90 b/main.F90 index b05c9c5..9d8e7a4 100644 --- a/main.F90 +++ b/main.F90 @@ -92,7 +92,7 @@ implicit none else - initial_site = "gemini://gemini.circumlunar.space/" + initial_site = "gemini://lilarm/" end if @@ -186,6 +186,11 @@ implicit none call r%draw_error("Exiting without initial site") running = .false. + else if(is_failure_code(return_code)) then + + call r%draw_error("Could not connect to "//desired_url) + loaded = .true. + end if do while(loaded .and. running) diff --git a/protocol.f90 b/protocol.f90 index 4948325..adb3760 100644 --- a/protocol.f90 +++ b/protocol.f90 @@ -102,7 +102,7 @@ contains use request use iso_c_binding use file_handling, only: mark_file_end - use binary, only: binary_handler, is_binary_file, binary_okay + use binary, only: binary_handler, is_binary_file, binary_okay, binary_ignore implicit none character(*), intent(inout)::url @@ -203,6 +203,10 @@ contains write(binary_unit) buffer(i) + else if(binary_file .and. binary_status == binary_ignore) then + + exit + end if if(.not. binary_file) then @@ -213,6 +217,11 @@ contains end do + ! If the user has bailed... + if(binary_file .and. binary_status == binary_ignore) then + exit + end if + bytes_received = retrieve_characters(conn%ssl, buffer) end do -- cgit v1.2.3