X-Git-Url: https://www.flypig.org.uk/git/?a=blobdiff_plain;f=src%2Fshared.c;h=a945a8df270b34e022fa3bbd51d3e4cd675be488;hb=e7df9b112a12960837e23e59fd43a03c4b444374;hp=12d770649893e7e22f73f667bfa922aa2ca449b3;hpb=7f37bcc9c2dbfd6e1cbc298832a7a4759755837a;p=hashcat.git diff --git a/src/shared.c b/src/shared.c index 12d7706..a945a8d 100644 --- a/src/shared.c +++ b/src/shared.c @@ -9220,25 +9220,46 @@ void myquit () data.devices_status = STATUS_QUIT; } -void naive_escape (const char *cpath_real, char *cpath_escaped, const size_t cpath_escaped_len) +void naive_replace (char *s, const u8 key_char, const u8 replace_char) { - const size_t len = strlen (cpath_real); + const size_t len = strlen (s); + + for (size_t in = 0; in < len; in++) + { + const u8 c = s[in]; + + if (c == key_char) + { + s[in] = replace_char; + } + } +} + +void naive_escape (char *s, size_t s_max, const u8 key_char, const u8 escape_char) +{ + char s_escaped[1024] = { 0 }; + + size_t s_escaped_max = sizeof (s_escaped); + + const size_t len = strlen (s); for (size_t in = 0, out = 0; in < len; in++, out++) { - const u8 c = cpath_real[in]; + const u8 c = s[in]; - if (c == ' ') + if (c == key_char) { - cpath_escaped[out] = '\\'; + s_escaped[out] = escape_char; out++; } - if (out == cpath_escaped_len) break; + if (out == s_escaped_max - 2) break; - cpath_escaped[out] = c; + s_escaped[out] = c; } + + strncpy (s, s_escaped, s_max - 1); } void load_kernel (const char *kernel_file, int num_devices, size_t *kernel_lengths, const u8 **kernel_sources)