[core] add state_run_continue function

this function is a helper to evaluate a state_run_t for repeated state
transition
This commit is contained in:
akallabeth 2022-12-16 13:13:23 +01:00 committed by David Fort
parent 784becd946
commit 59e644ea2e
3 changed files with 8 additions and 1 deletions

View File

@ -1169,7 +1169,7 @@ static state_run_t peer_recv_callback(rdpTransport* transport, wStream* s, void*
WLog_VRB(TAG, "(server)[%s -> %s] current return %s [%" PRIuz " bytes not processed]", old,
rdp_get_state_string(rdp), state_run_result_string(rc, buffer, sizeof(buffer)),
Stream_GetRemainingLength(s));
} while ((rc == STATE_RUN_TRY_AGAIN) || (rc == STATE_RUN_CONTINUE) || (rc == STATE_RUN_ACTIVE));
} while (state_run_continue(rc));
return rc;
}

View File

@ -67,3 +67,9 @@ const char* state_run_result_string(state_run_t status, char* buffer, size_t buf
_snprintf(buffer, buffersize, "%s [%d]", name, status);
return buffer;
}
BOOL state_run_continue(state_run_t status)
{
return (status == STATE_RUN_TRY_AGAIN) || (status == STATE_RUN_CONTINUE) ||
(status == STATE_RUN_ACTIVE);
}

View File

@ -37,6 +37,7 @@ typedef enum
FREERDP_LOCAL BOOL state_run_failed(state_run_t status);
FREERDP_LOCAL BOOL state_run_success(state_run_t status);
FREERDP_LOCAL BOOL state_run_continue(state_run_t status);
FREERDP_LOCAL const char* state_run_result_string(state_run_t status, char* buffer,
size_t buffersize);