mirror of
https://github.com/MariaDB/server.git
synced 2025-07-30 16:24:05 +03:00
Added HandlerSocket plugin
- Fixed compiler errors - Modified Makefiles to be part of plugin directory - Some minor changes in database.cpp to use the new MariaDB handler interface
This commit is contained in:
65
plugin/handler_socket/libhsclient/escape.hpp
Normal file
65
plugin/handler_socket/libhsclient/escape.hpp
Normal file
@ -0,0 +1,65 @@
|
||||
|
||||
// vim:sw=2:ai
|
||||
|
||||
/*
|
||||
* Copyright (C) 2010 DeNA Co.,Ltd.. All rights reserved.
|
||||
* See COPYRIGHT.txt for details.
|
||||
*/
|
||||
|
||||
#include <stdint.h>
|
||||
|
||||
#include "string_buffer.hpp"
|
||||
#include "string_ref.hpp"
|
||||
#include "string_util.hpp"
|
||||
|
||||
#ifndef DENA_ESCAPE_HPP
|
||||
#define DENA_ESCAPE_HPP
|
||||
|
||||
namespace dena {
|
||||
|
||||
void escape_string(char *& wp, const char *start, const char *finish);
|
||||
void escape_string(string_buffer& ar, const char *start, const char *finish);
|
||||
bool unescape_string(char *& wp, const char *start, const char *finish);
|
||||
/* unescaped_string() works even if wp == start */
|
||||
bool unescape_string(string_buffer& ar, const char *start, const char *finish);
|
||||
|
||||
uint32_t read_ui32(char *& start, char *finish);
|
||||
void write_ui32(string_buffer& buf, uint32_t v);
|
||||
|
||||
inline bool
|
||||
is_null_expression(const char *start, const char *finish)
|
||||
{
|
||||
return (finish == start + 1 && start[0] == 0);
|
||||
}
|
||||
|
||||
inline void
|
||||
read_token(char *& start, char *finish)
|
||||
{
|
||||
char *const p = memchr_char(start, '\t', finish - start);
|
||||
if (p == 0) {
|
||||
start = finish;
|
||||
} else {
|
||||
start = p;
|
||||
}
|
||||
}
|
||||
|
||||
inline void
|
||||
skip_token_delim_fold(char *& start, char *finish)
|
||||
{
|
||||
while (start != finish && start[0] == '\t') {
|
||||
++start;
|
||||
}
|
||||
}
|
||||
|
||||
inline void
|
||||
skip_one(char *& start, char *finish)
|
||||
{
|
||||
if (start != finish) {
|
||||
++start;
|
||||
}
|
||||
}
|
||||
|
||||
};
|
||||
|
||||
#endif
|
||||
|
Reference in New Issue
Block a user