MCPcopy Create free account
hub / github.com/apache/trafficserver / TSStringPercentDecode

Function TSStringPercentDecode

src/api/InkAPI.cc:1320–1346  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1318}
1319
1320TSReturnCode
1321TSStringPercentDecode(const char *str, size_t str_len, char *dst, size_t dst_size, size_t *length)
1322{
1323 sdk_assert(sdk_sanity_check_null_ptr((void *)str) == TS_SUCCESS);
1324 sdk_assert(sdk_sanity_check_null_ptr((void *)dst) == TS_SUCCESS);
1325
1326 if (0 == str_len) {
1327 str_len = strlen(str);
1328 }
1329
1330 // return unescapifyStr(str);
1331 char *buffer = dst;
1332 const char *src = str;
1333 int s = 0; // State, which we don't really use
1334
1335 // TODO: We should check for "failures" here?
1336 unescape_str(buffer, buffer + dst_size, src, src + str_len, s);
1337
1338 size_t data_written = std::min<size_t>(buffer - dst, dst_size - 1);
1339 *(dst + data_written) = '\0';
1340
1341 if (length) {
1342 *length = (data_written);
1343 }
1344
1345 return TS_SUCCESS;
1346}
1347
1348TSReturnCode
1349TSUrlPercentEncode(TSMBuffer bufp, TSMLoc obj, char *dst, size_t dst_size, size_t *length, const unsigned char *map)

Callers 6

DecodeMethod · 0.85
getCmcdNorFunction · 0.85
operator()Method · 0.85
ts_lua_unescape_uriFunction · 0.85

Calls 2

unescape_strFunction · 0.85

Tested by 1