diff --git a/sesman/libscp/libscp_v1s_mng.c b/sesman/libscp/libscp_v1s_mng.c index 9c31cec6..3a3e1d98 100644 --- a/sesman/libscp/libscp_v1s_mng.c +++ b/sesman/libscp/libscp_v1s_mng.c @@ -188,11 +188,18 @@ scp_v1s_mng_list_sessions(struct SCP_CONNECTION *c, struct SCP_SESSION *s, struct SCP_DISCONNECTED_SESSION *cds; /* calculating the number of packets to send */ - pktcnt = sescnt / SCP_SERVER_MAX_LIST_SIZE; - - if ((sescnt % SCP_SERVER_MAX_LIST_SIZE) != 0) + if (sescnt == 0) + { + pktcnt = 1; + } + else { - pktcnt++; + pktcnt = sescnt / SCP_SERVER_MAX_LIST_SIZE; + + if ((sescnt % SCP_SERVER_MAX_LIST_SIZE) != 0) + { + pktcnt++; + } } for (idx = 0; idx < pktcnt; idx++) diff --git a/sesman/scp_v1_mng.c b/sesman/scp_v1_mng.c index 044b35ad..d44b9e04 100644 --- a/sesman/scp_v1_mng.c +++ b/sesman/scp_v1_mng.c @@ -84,19 +84,13 @@ scp_v1_mng_process(struct SCP_CONNECTION *c, struct SCP_SESSION *s) /* list disconnected sessions */ slist = session_get_byuser(NULL, &scount, SESMAN_SESSION_STATUS_ALL); LOG_DBG("sessions on TS: %d (slist: %x)", scount, slist); - if (0 == slist) { - // e=scp_v1s_connection_error(c, "Internal error"); log_message(LOG_LEVEL_INFO, "No sessions on Terminal Server"); - end = 0; - } - else - { - e = scp_v1s_mng_list_sessions(c, s, scount, slist); - g_free(slist); } + e = scp_v1s_mng_list_sessions(c, s, scount, slist); + g_free(slist); break; default: /* we check the other errors */