From ac7ee10b6041c0f13e8ff6fc32233d6dd2804375 Mon Sep 17 00:00:00 2001 From: winlin Date: Fri, 3 Feb 2017 11:56:02 +0800 Subject: [PATCH] fix #751,#756, refine code --- trunk/src/app/srs_app_http_api.cpp | 24 +++++------------------- 1 file changed, 5 insertions(+), 19 deletions(-) diff --git a/trunk/src/app/srs_app_http_api.cpp b/trunk/src/app/srs_app_http_api.cpp index ea9b622d4..1f4c77d78 100644 --- a/trunk/src/app/srs_app_http_api.cpp +++ b/trunk/src/app/srs_app_http_api.cpp @@ -791,24 +791,6 @@ int SrsGoApiClients::serve_http(ISrsHttpResponseWriter* w, ISrsHttpMessage* r) // e.g. /api/v1/clients/100 pattern= /api/v1/clients/, client_id=100 int cid = r->parse_rest_id(entry->pattern); - std::string start = r->query_get("start"); - std::string count = r->query_get("count"); - int cst = 0; - int cct = 10; - if(!start.empty()){ - cst = atoi(start.c_str()); - } - if(!count.empty()){ - cct = atoi(count.c_str()); - } - if(cst<0){ - cst = 0; - } - if(cct<=0){ - cct = 10; - } - - SrsStatisticClient* client = NULL; if (cid >= 0 && (client = stat->find_client(cid)) == NULL) { ret = ERROR_RTMP_CLIENT_NOT_FOUND; @@ -827,7 +809,11 @@ int SrsGoApiClients::serve_http(ISrsHttpResponseWriter* w, ISrsHttpMessage* r) SrsJsonArray* data = SrsJsonAny::array(); obj->set("clients", data); - if ((ret = stat->dumps_clients(data, cst, cct)) != ERROR_SUCCESS) { + std::string rstart = r->query_get("start"); + std::string rcount = r->query_get("count"); + int start = srs_max(0, atoi(rstart.c_str())); + int count = srs_max(10, atoi(rcount.c_str())); + if ((ret = stat->dumps_clients(data, start, count)) != ERROR_SUCCESS) { return srs_api_response_code(w, r, ret); } } else {