• R/O
  • SSH
  • HTTPS

exewrap: Commit


Commit MetaInfo

Revision35 (tree)
Time2017-02-21 21:10:28
Authorhirukawa_ryo

Log Message

* 1.1.6
VisualVMに表示名としてEXE実行ファイル名を表示するようにしました。
オプション -o で指定した出力ファイル名に拡張子が付いていないときにクラッシュするバグを修正しました。

Change Summary

Incremental Difference

--- exewrap/trunk/exewrap/src/exewrap.c (revision 34)
+++ exewrap/trunk/exewrap/src/exewrap.c (revision 35)
@@ -61,6 +61,7 @@
6161 char* original_filename;
6262 char* new_version;
6363 BOOL is_trace_version = FALSE;
64+ BOOL contains_visualvm_display_name = FALSE;
6465
6566 char* buf = NULL;
6667 char* ptr = NULL;
@@ -84,7 +85,7 @@
8485
8586 is_trace_version = strstr(exe_file, "trace") != NULL;
8687
87- printf("exewrap 1.1.5 for %s (%d-bit) %s\r\n"
88+ printf("exewrap 1.1.6 for %s (%d-bit) %s\r\n"
8889 "Native executable java application wrapper.\r\n"
8990 "Copyright (C) 2005-2017 HIRUKAWA Ryo. All rights reserved.\r\n"
9091 "\r\n"
@@ -155,11 +156,6 @@
155156 }
156157 strcpy(exe_file, buf);
157158
158- if (strrchr(strrchr(exe_file, '\\') + 1, '.') == NULL)
159- {
160- *strrchr(strrchr(exe_file, '\\' + 1), '.') = '\0';
161- strcat(exe_file, ".exe");
162- }
163159 if (is_trace_version)
164160 {
165161 *strrchr(exe_file, '.') = '\0';
@@ -423,12 +419,36 @@
423419 }
424420 strcat(vmargs, opt['a']);
425421 }
422+ if(opt['a'] && *opt['a'] != '\0')
423+ {
424+ if(strstr(opt['a'], "-Dvisualvm.display.name="))
425+ {
426+ contains_visualvm_display_name = TRUE;
427+ }
428+ }
429+ if(!contains_visualvm_display_name)
430+ {
431+ char* visualvm_display_name = malloc(25 + MAX_PATH);
432+ strcpy(visualvm_display_name, "-Dvisualvm.display.name=");
433+ strcat(visualvm_display_name, strrchr(exe_file, '\\') + 1);
434+
435+ if (vmargs == NULL)
436+ {
437+ vmargs = (char*)malloc(2048);
438+ vmargs[0] = '\0';
439+ }
440+ else
441+ {
442+ strcat(vmargs, " ");
443+ }
444+ strcat(vmargs, visualvm_display_name);
445+ }
426446 if (vmargs != NULL)
427447 {
428448 set_resource(exe_file, "VMARGS", RT_RCDATA, vmargs, (DWORD)strlen(vmargs) + 1);
429449 free(vmargs);
430450 }
431-
451+
432452 if(opt['b'] && *opt['b'] != '\0')
433453 {
434454 if (vmargs_b == NULL)
Show on old repository browser