diff options
Diffstat (limited to 'lib/string_helpers.c')
-rw-r--r-- | lib/string_helpers.c | 49 |
1 files changed, 7 insertions, 42 deletions
diff --git a/lib/string_helpers.c b/lib/string_helpers.c index 9c48ddad0f0d..1826c7407258 100644 --- a/lib/string_helpers.c +++ b/lib/string_helpers.c | |||
@@ -274,11 +274,6 @@ static bool escape_space(unsigned char c, char **dst, char *end) | |||
274 | return false; | 274 | return false; |
275 | } | 275 | } |
276 | 276 | ||
277 | if (out + 2 > end) { | ||
278 | *dst = out + 2; | ||
279 | return true; | ||
280 | } | ||
281 | |||
282 | if (out < end) | 277 | if (out < end) |
283 | *out = '\\'; | 278 | *out = '\\'; |
284 | ++out; | 279 | ++out; |
@@ -309,11 +304,6 @@ static bool escape_special(unsigned char c, char **dst, char *end) | |||
309 | return false; | 304 | return false; |
310 | } | 305 | } |
311 | 306 | ||
312 | if (out + 2 > end) { | ||
313 | *dst = out + 2; | ||
314 | return true; | ||
315 | } | ||
316 | |||
317 | if (out < end) | 307 | if (out < end) |
318 | *out = '\\'; | 308 | *out = '\\'; |
319 | ++out; | 309 | ++out; |
@@ -332,11 +322,6 @@ static bool escape_null(unsigned char c, char **dst, char *end) | |||
332 | if (c) | 322 | if (c) |
333 | return false; | 323 | return false; |
334 | 324 | ||
335 | if (out + 2 > end) { | ||
336 | *dst = out + 2; | ||
337 | return true; | ||
338 | } | ||
339 | |||
340 | if (out < end) | 325 | if (out < end) |
341 | *out = '\\'; | 326 | *out = '\\'; |
342 | ++out; | 327 | ++out; |
@@ -352,11 +337,6 @@ static bool escape_octal(unsigned char c, char **dst, char *end) | |||
352 | { | 337 | { |
353 | char *out = *dst; | 338 | char *out = *dst; |
354 | 339 | ||
355 | if (out + 4 > end) { | ||
356 | *dst = out + 4; | ||
357 | return true; | ||
358 | } | ||
359 | |||
360 | if (out < end) | 340 | if (out < end) |
361 | *out = '\\'; | 341 | *out = '\\'; |
362 | ++out; | 342 | ++out; |
@@ -378,11 +358,6 @@ static bool escape_hex(unsigned char c, char **dst, char *end) | |||
378 | { | 358 | { |
379 | char *out = *dst; | 359 | char *out = *dst; |
380 | 360 | ||
381 | if (out + 4 > end) { | ||
382 | *dst = out + 4; | ||
383 | return true; | ||
384 | } | ||
385 | |||
386 | if (out < end) | 361 | if (out < end) |
387 | *out = '\\'; | 362 | *out = '\\'; |
388 | ++out; | 363 | ++out; |
@@ -449,20 +424,17 @@ static bool escape_hex(unsigned char c, char **dst, char *end) | |||
449 | * it if needs. | 424 | * it if needs. |
450 | * | 425 | * |
451 | * Return: | 426 | * Return: |
452 | * The amount of the characters processed to the destination buffer, or | 427 | * The total size of the escaped output that would be generated for |
453 | * %-ENOMEM if the size of buffer is not enough to put an escaped character is | 428 | * the given input and flags. To check whether the output was |
454 | * returned. | 429 | * truncated, compare the return value to osz. There is room left in |
455 | * | 430 | * dst for a '\0' terminator if and only if ret < osz. |
456 | * Even in the case of error @dst pointer will be updated to point to the byte | ||
457 | * after the last processed character. | ||
458 | */ | 431 | */ |
459 | int string_escape_mem(const char *src, size_t isz, char **dst, size_t osz, | 432 | int string_escape_mem(const char *src, size_t isz, char *dst, size_t osz, |
460 | unsigned int flags, const char *esc) | 433 | unsigned int flags, const char *esc) |
461 | { | 434 | { |
462 | char *p = *dst; | 435 | char *p = dst; |
463 | char *end = p + osz; | 436 | char *end = p + osz; |
464 | bool is_dict = esc && *esc; | 437 | bool is_dict = esc && *esc; |
465 | int ret; | ||
466 | 438 | ||
467 | while (isz--) { | 439 | while (isz--) { |
468 | unsigned char c = *src++; | 440 | unsigned char c = *src++; |
@@ -502,13 +474,6 @@ int string_escape_mem(const char *src, size_t isz, char **dst, size_t osz, | |||
502 | escape_passthrough(c, &p, end); | 474 | escape_passthrough(c, &p, end); |
503 | } | 475 | } |
504 | 476 | ||
505 | if (p > end) { | 477 | return p - dst; |
506 | *dst = end; | ||
507 | return -ENOMEM; | ||
508 | } | ||
509 | |||
510 | ret = p - *dst; | ||
511 | *dst = p; | ||
512 | return ret; | ||
513 | } | 478 | } |
514 | EXPORT_SYMBOL(string_escape_mem); | 479 | EXPORT_SYMBOL(string_escape_mem); |