Commit 73c4e5130953c36101fa0f5a24a8100ae62340ac
1 parent
fc337b91
Exists in
master
and in
1 other branch
Fixing remap file path on windows.
Showing
1 changed file
with
27 additions
and
1 deletions
Show diff stats
src/terminal/charset.c
@@ -33,6 +33,10 @@ | @@ -33,6 +33,10 @@ | ||
33 | #include <lib3270/log.h> | 33 | #include <lib3270/log.h> |
34 | #include <v3270/dialogs.h> | 34 | #include <v3270/dialogs.h> |
35 | 35 | ||
36 | +#ifdef _WIN32 | ||
37 | + #include <lmcons.h> | ||
38 | +#endif // _WIN32 | ||
39 | + | ||
36 | #define ERROR_DOMAIN g_quark_from_static_string(PACKAGE_NAME) | 40 | #define ERROR_DOMAIN g_quark_from_static_string(PACKAGE_NAME) |
37 | 41 | ||
38 | /*--[ Implement ]------------------------------------------------------------------------------------*/ | 42 | /*--[ Implement ]------------------------------------------------------------------------------------*/ |
@@ -187,7 +191,29 @@ | @@ -187,7 +191,29 @@ | ||
187 | const gchar * const * system_data_dirs = g_get_system_data_dirs(); | 191 | const gchar * const * system_data_dirs = g_get_system_data_dirs(); |
188 | 192 | ||
189 | #ifdef _WIN32 | 193 | #ifdef _WIN32 |
190 | - #error Implementar. | 194 | + { |
195 | + char wc_fn[MAX_PATH]; | ||
196 | + | ||
197 | + if(GetModuleFileName(NULL, wc_fn, MAX_PATH)) | ||
198 | + { | ||
199 | + char *p; | ||
200 | + | ||
201 | + if((p = strrchr(wc_fn, '\\')) != NULL) | ||
202 | + *p = '\0'; | ||
203 | + | ||
204 | + if((p = strrchr(wc_fn, '/')) != NULL) | ||
205 | + *p = '\0'; | ||
206 | + | ||
207 | + gchar *filename = g_build_filename(wc_fn,G_STRINGIFY(PRODUCT_NAME),"remap",name,NULL); | ||
208 | + | ||
209 | + debug("%s.win32=%s",__FUNCTION__,filename); | ||
210 | + if(g_file_test(filename,G_FILE_TEST_IS_REGULAR)) | ||
211 | + return filename; | ||
212 | + | ||
213 | + g_free(filename); | ||
214 | + } | ||
215 | + | ||
216 | + } | ||
191 | #endif // _WIN32 | 217 | #endif // _WIN32 |
192 | 218 | ||
193 | for(ix=0;system_data_dirs[ix];ix++) | 219 | for(ix=0;system_data_dirs[ix];ix++) |