diff --git a/include/client.h b/include/client.h

index 40729073bcaa2c0a172d3375662ac91cef0ea550..671de12e7ee53fbbfc03407760723d2a66458c2d 100644

--- a/include/client.h

+++ b/include/client.h

@@ -39,11 +39,8 @@ enum gemini_result {

GEMINI_OK,

GEMINI_ERR_OOM,

GEMINI_ERR_INVALID_URL,

- // status is set to the return value from getaddrinfo

GEMINI_ERR_RESOLVE,

- // status is set to errno

GEMINI_ERR_CONNECT,

- // use SSL_get_error(resp->ssl, resp->status) to get details

GEMINI_ERR_SSL,

GEMINI_ERR_IO,

GEMINI_ERR_PROTOCOL,

@@ -52,17 +49,16 @@

// Requests the specified URL via the gemini protocol. If options is non-NULL,

// it may specify some additional configuration to adjust client behavior.

//

-// Returns a value indicating the success of the request. If GEMINI_OK is

-// returned, the response details shall be written to the gemini_response

-// argument.

+// Returns a value indicating the success of the request.

+//

+// Caller must call gemini_response_finish afterwards to clean up resources

+// before exiting or re-using it for another request.

enum gemini_result gemini_request(const char *url,

struct gemini_options *options,

struct gemini_response *resp);

// Must be called after gemini_request in order to free up the resources

-// allocated during the request. If you intend to re-use the SSL_CTX provided by

-// gemini_options, set the ctx pointer to NULL before calling

-// gemini_response_finish.

+// allocated during the request.

void gemini_response_finish(struct gemini_response *resp);

// Returns a user-friendly string describing an error.