wangzhengquan
2020-12-22 26ed48c4e616014ee760fd13d13dbdc8539c34e3
src/socket/net_mod_socket_io.c
@@ -2,14 +2,13 @@
#include "socket_io.h"
#include <stdint.h> 
ssize_t rio_readpkgb(rio_t *rp, char *usrbuf, size_t maxlen)
ssize_t rio_read_until_sep(rio_t *rp, char *usrbuf, size_t maxlen, const char *sep)
{
  int n, rc;
  char c;
  char *bufp = usrbuf;
  int pkg_sep_i = 0;
  int pkg_sep_len = strlen(PKG_SEP);
  const char * pkg_sep = PKG_SEP;
  int sep_i = 0;
  int sep_len = strlen(sep);
  for (n = 0; n < maxlen; n++)
  {
@@ -18,15 +17,15 @@
      
      *bufp++ = c;
      
      if(c == *(pkg_sep + pkg_sep_i)) {
        pkg_sep_i++;
        if(pkg_sep_i == pkg_sep_len) {
      if(c == *(sep + sep_i)) {
        sep_i++;
        if(sep_i == sep_len) {
             
          break;
        } 
      } else {
        pkg_sep_i = 0;
        sep_i = 0;
      }
    }
@@ -41,9 +40,9 @@
      return -1;    /* Error */
  }
  if(pkg_sep_i == pkg_sep_len) {
    *(bufp - pkg_sep_len) = 0;
    return n - pkg_sep_len;
  if(sep_i == sep_len) {
    *(bufp - sep_len) = 0;
    return n - sep_len;
  } else {
    return -1;
  }