mirror of
https://github.com/VectorCamp/vectorscan.git
synced 2025-09-29 19:24:25 +03:00
add new Literal API for pure literal expressions:
Design compile time api hs_compile_lit() and hs_compile_lit_multi() to handle pure literal pattern sets. Corresponding option --literal-on is added for hyperscan testing suites. Extended parameters and part of flags are not supported for this api.
This commit is contained in:
committed by
Chang, Harry
parent
8bfbf07f75
commit
23e5f06594
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2015, Intel Corporation
|
||||
* Copyright (c) 2015-2019, Intel Corporation
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions are met:
|
||||
@@ -127,4 +127,18 @@ void prettyPrintRange(std::ostream &out, it_t begin, it_t end) {
|
||||
}
|
||||
}
|
||||
|
||||
// Transfer given string into a hex-escaped pattern.
|
||||
static really_inline
|
||||
char *makeHex(const unsigned char *pat, unsigned patlen) {
|
||||
size_t hexlen = patlen * 4;
|
||||
char *hexbuf = (char *)malloc(hexlen + 1);
|
||||
unsigned i;
|
||||
char *buf;
|
||||
for (i = 0, buf = hexbuf; i < patlen; i++, buf += 4) {
|
||||
snprintf(buf, 5, "\\x%02x", (unsigned char)pat[i]);
|
||||
}
|
||||
hexbuf[hexlen] = '\0';
|
||||
return hexbuf;
|
||||
}
|
||||
|
||||
#endif // STRING_UTIL_H
|
||||
|
Reference in New Issue
Block a user