Unverified Commit 742ddc9d authored by Johannes Schindelin's avatar Johannes Schindelin Committed by Daniel Stenberg
Browse files

schannel: reorder functions topologically



The _shutdown() function calls the _session_free() function; While this
is not a problem now (because schannel.h declares both functions), a
patch looming in the immediate future with make all of these functions
file-local.

So let's just move the _session_free() function's definition before it
is called.

Signed-off-by: default avatarJohannes Schindelin <johannes.schindelin@gmx.de>
parent 3ea5461d
Loading
Loading
Loading
Loading
+12 −12
Original line number Diff line number Diff line
@@ -1435,6 +1435,18 @@ void Curl_schannel_close(struct connectdata *conn, int sockindex)
    Curl_ssl_shutdown(conn, sockindex);
}

void Curl_schannel_session_free(void *ptr)
{
  /* this is expected to be called under sessionid lock */
  struct curl_schannel_cred *cred = ptr;

  cred->refcount--;
  if(cred->refcount == 0) {
    s_pSecFn->FreeCredentialsHandle(&cred->cred_handle);
    Curl_safefree(cred);
  }
}

int Curl_schannel_shutdown(struct connectdata *conn, int sockindex)
{
  /* See https://msdn.microsoft.com/en-us/library/windows/desktop/aa380138.aspx
@@ -1539,18 +1551,6 @@ int Curl_schannel_shutdown(struct connectdata *conn, int sockindex)
  return CURLE_OK;
}

void Curl_schannel_session_free(void *ptr)
{
  /* this is expected to be called under sessionid lock */
  struct curl_schannel_cred *cred = ptr;

  cred->refcount--;
  if(cred->refcount == 0) {
    s_pSecFn->FreeCredentialsHandle(&cred->cred_handle);
    Curl_safefree(cred);
  }
}

int Curl_schannel_init(void)
{
  return (Curl_sspi_global_init() == CURLE_OK ? 1 : 0);