Eolian/Generator: Fix Windows issue during string manipulation.

For Windows, it is simpler to replace all the \r\n with \n after having
read the file.
This commit is contained in:
Daniel Zaoui 2014-05-29 15:41:10 +03:00
parent 5c55ce49e6
commit e7faaf9fc5
3 changed files with 23 additions and 0 deletions

View File

@ -155,6 +155,9 @@ _generate_impl_c_file(char *filename, const Eolian_Class class)
fd = NULL;
buffer = eina_strbuf_manage_new(content);
#ifdef _WIN32
eina_strbuf_replace_all(buffer, "\r\n", "\n");
#endif
}
else
buffer = eina_strbuf_new();

View File

@ -4512,6 +4512,16 @@ eo_tokenizer_database_fill(const char *filename)
goto end;
}
buffer[len] = '\0';
#if _WIN32
{
Eina_Strbuf *str_buffer = eina_strbuf_manage_new(buffer);
if (eina_strbuf_replace_all(str_buffer, "\r\n", "\n"))
len = eina_strbuf_length_get(str_buffer);
buffer = eina_strbuf_string_steal(str_buffer);
eina_strbuf_free(str_buffer);
}
#endif
if (!eo_tokenizer_mem_walk(toknz, filename, buffer, len)) goto end;
if (!toknz->classes)

View File

@ -1378,6 +1378,16 @@ eo_tokenizer_database_fill(const char *filename)
goto end;
}
buffer[len] = '\0';
#if _WIN32
{
Eina_Strbuf *str_buffer = eina_strbuf_manage_new(buffer);
if (eina_strbuf_replace_all(str_buffer, "\r\n", "\n"))
len = eina_strbuf_length_get(str_buffer);
buffer = eina_strbuf_string_steal(str_buffer);
eina_strbuf_free(str_buffer);
}
#endif
if (!eo_tokenizer_mem_walk(toknz, filename, buffer, len)) goto end;
if (!toknz->classes)