windows path update

pull/394/head
Jens Steube 8 years ago
parent 7f37bcc9c2
commit e7df9b112a

@ -1668,7 +1668,8 @@ int veracrypt_parse_hash_327661 (char *input_buf, uint input_len, hash_t *hash
int veracrypt_parse_hash_655331 (char *input_buf, uint input_len, hash_t *hash_buf);
int win8phone_parse_hash (char *input_buf, uint input_len, hash_t *hash_buf);
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);
void naive_escape (char *s, size_t s_max, const u8 key_char, const u8 escape_char);
void load_kernel (const char *kernel_file, int num_devices, size_t *kernel_lengths, const u8 **kernel_sources);
void writeProgramBin (char *dst, u8 *binary, size_t binary_size);

@ -15410,6 +15410,10 @@ int main (int argc, char **argv)
return -1;
}
naive_replace (cpath_real, '\\', '/');
// not escaping here, windows has quotes
snprintf (build_opts, sizeof (build_opts) - 1, "-I \"%s\"", cpath_real);
myfree (cpath_real);
@ -15427,14 +15431,12 @@ int main (int argc, char **argv)
return -1;
}
char cpath_escaped[1024] = { 0 };
naive_escape (cpath_real, PATH_MAX, ' ', '\\');
naive_escape (cpath_real, cpath_escaped, sizeof (cpath_escaped));
snprintf (build_opts, sizeof (build_opts) - 1, "-I %s", cpath_real);
myfree (cpath_real);
snprintf (build_opts, sizeof (build_opts) - 1, "-I %s", cpath_escaped);
#endif
// we don't have sm_* on vendors not NV but it doesn't matter

@ -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)

Loading…
Cancel
Save