get_progname() returns a strdup()'d value. Shouldn't it then be simply
char * and not const char *? Otherwise free() complains loudly without
a cast.
diff --git a/src/include/port.h b/src/include/port.h
new file mode 100644
index 99d3a9b..2d6a435
*** a/src/include/port.h
--- b/src/include/port.h
*************** extern void make_native_path(char *path)
*** 45,51 **** extern bool path_contains_parent_reference(const char *path); extern bool
path_is_relative_and_below_cwd(constchar *path); extern bool path_is_prefix_of_path(const char *path1, const char
*path2);
! extern const char *get_progname(const char *argv0); extern void get_share_path(const char *my_exec_path, char
*ret_path);extern void get_etc_path(const char *my_exec_path, char *ret_path); extern void get_include_path(const char
*my_exec_path,char *ret_path);
--- 45,51 ---- extern bool path_contains_parent_reference(const char *path); extern bool
path_is_relative_and_below_cwd(constchar *path); extern bool path_is_prefix_of_path(const char *path1, const char
*path2);
! extern char *get_progname(const char *argv0); extern void get_share_path(const char *my_exec_path, char *ret_path);
externvoid get_etc_path(const char *my_exec_path, char *ret_path); extern void get_include_path(const char
*my_exec_path,char *ret_path);
diff --git a/src/port/path.c b/src/port/path.c
new file mode 100644
index 72ca24c..ebfc94c
*** a/src/port/path.c
--- b/src/port/path.c
*************** path_is_prefix_of_path(const char *path1
*** 411,417 **** * Extracts the actual name of the program as called - * stripped of .exe suffix if any */
! const char * get_progname(const char *argv0) { const char *nodir_name;
--- 411,417 ---- * Extracts the actual name of the program as called - * stripped of .exe suffix if any */
! char * get_progname(const char *argv0) { const char *nodir_name;