MCPcopy Create free account
hub / github.com/MariaDB/server / execute_lines

Method execute_lines

plugin/handler_socket/handlersocket/hstcpsvr_worker.cpp:657–678  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

655#endif
656
657void
658hstcpsvr_worker::execute_lines(hstcpsvr_conn& conn)
659{
660 DBG_MULTI(int cnt = 0);
661 dbconnstate& cstate = conn.cstate;
662 char *buf_end = cstate.readbuf.end();
663 char *line_begin = cstate.readbuf.begin();
664 char *find_pos = line_begin + cstate.find_nl_pos;
665 while (true) {
666 char *const nl = memchr_char(find_pos, '\n', buf_end - find_pos);
667 if (nl == 0) {
668 break;
669 }
670 char *const lf = (line_begin != nl && nl[-1] == '\r') ? nl - 1 : nl;
671 DBG_MULTI(cnt++);
672 execute_line(line_begin, lf, conn);
673 find_pos = line_begin = nl + 1;
674 }
675 cstate.readbuf.erase_front(line_begin - cstate.readbuf.begin());
676 cstate.find_nl_pos = cstate.readbuf.size();
677 DBG_MULTI(fprintf(stderr, "cnt=%d\n", cnt));
678}
679
680void
681hstcpsvr_worker::execute_line(char *start, char *finish, hstcpsvr_conn& conn)

Callers

nothing calls this directly

Calls 5

memchr_charFunction · 0.85
erase_frontMethod · 0.80
endMethod · 0.45
beginMethod · 0.45
sizeMethod · 0.45

Tested by

no test coverage detected