Fix compiler warnings in the MinGW build
* configure.ac [mingw32]: Don't add -Wpointer-sign, and add -Wno-pointer-sign, to keep the noise level down. * nt/mingw-cfg.site (gl_cv_warn_c__Wredundant_decls): Disable -Wredundant-decls, as that produces a lot of noise due to redeclaration of time-related functions by gnulib. * nt/runemacs.c (set_user_model_id): Fix argument type of 'SetCurrentProcessExplicitAppUserModelID'. * src/image.c (x_create_bitmap_from_file) [HAVE_NTGUI]: Don't declare 'dpyinfo', as it is unused. (xpm_load): Fix warnings about pointer signedness. * src/w32proc.c (IsValidLocale, init_winsock): Remove redundant prototypes. (sys_spawnve): Avoid warnings about discarding 'const' qualifier. (sys_select): Provide prototype. (g_b_init_compare_string_w): Move declaration to file scope. * src/w32heap.c (dumped_data_commit): Now static. (FREEABLE_P): Avoid warnings about pointer comparison with integer. (mmap_realloc): Cast to 'char *' for arithmetics on void pointers. * src/w32console.c (ctrl_c_handler, sys_tputs, sys_tgetstr) (evalcost, cmputc, cmcheckmagic, cmcostinit, cmgoto, Wcm_clear): Provide prototypes. * src/w32.c (globals_of_w32, conv_sockaddr_to_lisp): Remove redundant prototypes. (w32_get_internal_run_time, map_w32_filename): Provide prototype. (init_environment, sys_ctime): Avoid warnings about discarding 'const' qualifier. Include utimens.h. (sys_ctime, sys_chdir, sys_creat, sys_fopen, sys_mkdir) (sys_open, sys_rename, sys_rmdir, is_slow_fs, term_winsock) (sys_close, sys_dup2, sys_read, sys_write, sys_localtime): Provide prototypes. (sys_rename_replace): Use %d to avoid compiler warnings. (_wsa_errlist): Make the message text 'const char *', to avoid compilation warnings. (dynlib_reset_last_error): Move prototype to file scope. (w32_get_resource): First argument is now 'const char *'. * src/w32uniscribe.c (syms_of_w32uniscribe): Provide prototype. (otf_features): Second argument is no 'const char *'. * src/w32term.c (free_frame_menubar, x_wm_set_size_hint) (x_set_window_size): Remove redundant prototypes. (XChangeGC, XGetGCValues, w32_draw_underwave) (w32_draw_rectangle, w32_shift_glyphs_for_insert, x_mouse_leave) (x_calc_absolute_position, x_destroy_window): Now static. (menubar_selection_callback): Move prototype to file scope. * src/w32font.c (g_b_init_get_glyph_outline_w): Remove redundant declaration. (w32_to_x_charset): Fix warnings about discarding 'const' qualifier. (w32font_full_name): Fix warnings about implicit conversion of 'float' to 'double'. * src/w32reg.c (w32_get_rdb_resource): Fix warnings about discarding 'const' qualifier. * src/w32menu.c (syms_of_w32menu, globals_of_w32menu) (set_frame_menubar): Remove redundant prototypes. (menubar_selection_callback, w32_menu_display_help): Provide prototypes. (simple_dialog_show): Avoid warnings about discarding 'const' qualifier. * src/w32fns.c (syms_of_w32fns, globals_of_w32fns) (free_frame_menubar, w32_strerror, x_set_menu_bar_lines) (x_set_tool_bar_lines, x_set_internal_border_width): Remove redundant prototypes. (current_popup_menu): Remove redundant declaration. (colormap_t): Member 'name' is now 'const char *'. (add_system_logical_colors_to_map): Fix signed/unsigned warnings. (x_decode_color, x_set_border_pixel) (x_clear_under_internal_border, x_set_name, hook_w32_key) (reset_w32_kbdhook_state, deliver_wm_chars, w32_backtrace): Now static. (w32_load_cursor, w32_key_to_modifier, map_keypad_keys) (w32_msg_worker, w32_last_error): Provide prototypes. (funhook, lookup_vk_code): Avoid warnings about missing parentheses. (x_default_font_parameter, Fw32_notification_notify): Avoid warnings about discarding 'const' qualifier. (Fx_create_frame): Avoid warnings about empty body of 'else'. (x_screen_planes): Ifdef away unused function. (Fx_show_tip): Remove unused variables. (Fw32_battery_status): Avoid warnings about implicit promotion from float to double. (Fw32_notification_notify): Initialize 'timeout'. * src/profiler.c (profiler_cpu_running) [HAVE_ITIMERSPEC]: Only define the TIMER_SETTIME_RUNNING value if it will be used. * src/w32notify.c (send_notifications): Ifdef away an empty if clause. Remove unused variable. (watch_end, watch_completion): Provide prototypes. * src/sound.c (sound_warning) [WINDOWSNT]: Don't define: unused. * src/callproc.c (child_setup, getenv_internal_1) [WINDOWSNT]: Fix warning with pointer signedness. * src/gnutls.c (gnutls_x509_crt_get_signature) (gnutls_alert_send_appropriate) [WINDOWSNT]: Don't define, and don't load them from the GnuTLS library, as they are no longer used. * src/process.c (DATAGRAM_CHAN_P) [!DATAGRAM_SOCKETS]: Don't define, as it's unused. * src/unexw32.c (open_input_file, open_output_file) (close_file_data): Remove redundant prototypes. (_start): provide prototype. (mainCRTStartup): Move prototype to file level. (find_section): Use type-cast to shut up compiler warnings. (offset_to_section, relocate_offset): Now static. (find_section): First argument is now a 'const char *'. (offset_to_section): Ifdef away, as it's unused. * src/w32heap.h (find_section): Adjust prototype. * src/dynlib.c (dynlib_reset_last_error): Provide prototype. * src/dired.c (directory_files_internal_w32_unwind): Avoid warnings about missing prototypes. (is_slow_fs) [WINDOWSNT]: Provide prototype at file level. (directory_files_internal) [WINDOWSNT]: Fix warnings about pointer signedness. * src/fileio.c (Ffile_writable_p, Ffile_regular_p) [WINDOWSNT]: Fix warnings about pointer signedness. * src/filelock.c (WTMP_FILE) [WINDOWSNT]: Don't define, it's unused. * src/sysdep.c (_getpid): Remove redundant prototype. (sys_subshell) [DOS_NT]: Don't define 'status', it's unused. [!MSDOS]: Don't define 'st', it's unused. (init_sys_modes) [DOS_NT]: Don't define 'terminal', it's unused. (str_collate) [WINDOWSNT]: Avoid warnings about pointer signedness. * src/keyboard.c (tty_read_avail_input) [WINDOWSNT]: Don't define n_to_read, as it is not used. (MAX_ENCODED_BYTES) [WINDOWSNT]: Don't define, as it's unused. * src/w32font.h (syms_of_w32font): Remove redundant prototype. * src/xfaces.c (x_display_info) [HAVE_NTGUI]: Remove unused macro. * src/term.c (init_tty) [DOS_NT]: Ifdef away variables that are not used by DOS_NT builds, to avoid compiler warnings. * src/menu.c (current_popup_menu) [HAVE_NTGUI]: Remove redundant declaration. * src/dispnew.c (init_display) [WINDOWSNT]: Use type-cast to shut up compiler warnings. * src/w32term.h (x_set_window_size, x_get_focus_frame) (x_make_frame_visible, x_make_frame_invisible, x_iconify_frame) (x_set_frame_alpha, x_activate_menubar, x_bitmap_icon) (x_free_frame_resources, x_real_positions) (display_x_get_resource): Remove redundant prototypes. * lib-src/ntlib.c (sys_ctime, sys_fopen, sys_chdir, mkostemp) (sys_rename, gettimeofday): Provide prototypes. * lib-src/ntlib.h (getuid, geteuid, mkostemp): Remove redundant declarations. * lib-src/emacsclient.c (w32_getenv): Argument is now 'const char *'. (xstrdup, w32_get_resource, w32_window_app, w32_execvp, ttyname) (close_winsock, initialize_sockets, w32_set_user_model_id) (w32_find_emacs_process, w32_give_focus) [WINDOWSNT]: Add prototypes. (w32_get_resource) [WINDOWSNT]: Fix a warning about signedness difference. (w32_set_user_model_id): Update prototype of SetCurrentProcessExplicitAppUserModelID to avoid compiler warnings. (start_daemon_and_retry_set_socket) [WINDOWSNT]: Use type-cast to shut up compiler warnings. * lib-src/etags.c (MAXPATHLEN) [WINDOWSNT]: Remove unused macro.
This commit is contained in:
parent
99848b37d2
commit
cb5af79249
40 changed files with 252 additions and 178 deletions
|
@ -39,7 +39,7 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
|
|||
# define CLOSE_SOCKET closesocket
|
||||
# define INITIALIZE() (initialize_sockets ())
|
||||
|
||||
char *w32_getenv (char *);
|
||||
char *w32_getenv (const char *);
|
||||
#define egetenv(VAR) w32_getenv(VAR)
|
||||
|
||||
#else /* !WINDOWSNT */
|
||||
|
@ -254,6 +254,7 @@ get_current_dir_name (void)
|
|||
#ifdef WINDOWSNT
|
||||
|
||||
/* Like strdup but get a fatal error if memory is exhausted. */
|
||||
char *xstrdup (const char *);
|
||||
|
||||
char *
|
||||
xstrdup (const char *s)
|
||||
|
@ -269,11 +270,13 @@ xstrdup (const char *s)
|
|||
|
||||
#define REG_ROOT "SOFTWARE\\GNU\\Emacs"
|
||||
|
||||
char *w32_get_resource (HKEY, const char *, LPDWORD);
|
||||
|
||||
/* Retrieve an environment variable from the Emacs subkeys of the registry.
|
||||
Return NULL if the variable was not found, or it was empty.
|
||||
This code is based on w32_get_resource (w32.c). */
|
||||
char *
|
||||
w32_get_resource (HKEY predefined, char *key, LPDWORD type)
|
||||
w32_get_resource (HKEY predefined, const char *key, LPDWORD type)
|
||||
{
|
||||
HKEY hrootkey = NULL;
|
||||
char *result = NULL;
|
||||
|
@ -285,7 +288,7 @@ w32_get_resource (HKEY predefined, char *key, LPDWORD type)
|
|||
{
|
||||
result = (char *) xmalloc (cbData);
|
||||
|
||||
if ((RegQueryValueEx (hrootkey, key, NULL, type, result, &cbData) != ERROR_SUCCESS)
|
||||
if ((RegQueryValueEx (hrootkey, key, NULL, type, (LPBYTE)result, &cbData) != ERROR_SUCCESS)
|
||||
|| (*result == 0))
|
||||
{
|
||||
free (result);
|
||||
|
@ -308,7 +311,7 @@ w32_get_resource (HKEY predefined, char *key, LPDWORD type)
|
|||
environment variables in the registry if they don't appear in the
|
||||
environment. */
|
||||
char *
|
||||
w32_getenv (char *envvar)
|
||||
w32_getenv (const char *envvar)
|
||||
{
|
||||
char *value;
|
||||
DWORD dwType;
|
||||
|
@ -356,6 +359,7 @@ w32_getenv (char *envvar)
|
|||
return NULL;
|
||||
}
|
||||
|
||||
int w32_window_app (void);
|
||||
|
||||
int
|
||||
w32_window_app (void)
|
||||
|
@ -383,11 +387,13 @@ w32_window_app (void)
|
|||
predictably bad results. By contrast, POSIX execvp passes the arguments
|
||||
directly into the argv array of the child process. */
|
||||
|
||||
int w32_execvp (const char *, char **);
|
||||
extern int execvp (const char*, char **);
|
||||
|
||||
int
|
||||
w32_execvp (const char *path, char **argv)
|
||||
{
|
||||
int i;
|
||||
extern int execvp (const char*, char **);
|
||||
|
||||
/* Required to allow a .BAT script as alternate editor. */
|
||||
argv[0] = (char *) alternate_editor;
|
||||
|
@ -407,7 +413,8 @@ w32_execvp (const char *path, char **argv)
|
|||
#define execvp w32_execvp
|
||||
|
||||
/* Emulation of ttyname for Windows. */
|
||||
char *
|
||||
const char *ttyname (int);
|
||||
const char *
|
||||
ttyname (int fd)
|
||||
{
|
||||
return "CONOUT$";
|
||||
|
@ -852,6 +859,7 @@ file_name_absolute_p (const char *filename)
|
|||
|
||||
#ifdef WINDOWSNT
|
||||
/* Wrapper to make WSACleanup a cdecl, as required by atexit. */
|
||||
void __cdecl close_winsock (void);
|
||||
void __cdecl
|
||||
close_winsock (void)
|
||||
{
|
||||
|
@ -859,6 +867,7 @@ close_winsock (void)
|
|||
}
|
||||
|
||||
/* Initialize the WinSock2 library. */
|
||||
void initialize_sockets (void);
|
||||
void
|
||||
initialize_sockets (void)
|
||||
{
|
||||
|
@ -1380,11 +1389,13 @@ set_socket (int no_exit_if_error)
|
|||
FARPROC set_fg; /* Pointer to AllowSetForegroundWindow. */
|
||||
FARPROC get_wc; /* Pointer to RealGetWindowClassA. */
|
||||
|
||||
void w32_set_user_model_id (void);
|
||||
|
||||
void
|
||||
w32_set_user_model_id (void)
|
||||
{
|
||||
HMODULE shell;
|
||||
HRESULT (WINAPI * set_user_model) (wchar_t * id);
|
||||
HRESULT (WINAPI * set_user_model) (const wchar_t * id);
|
||||
|
||||
/* On Windows 7 and later, we need to set the user model ID
|
||||
to associate emacsclient launched files with Emacs frames
|
||||
|
@ -1407,6 +1418,8 @@ w32_set_user_model_id (void)
|
|||
}
|
||||
}
|
||||
|
||||
BOOL CALLBACK w32_find_emacs_process (HWND, LPARAM);
|
||||
|
||||
BOOL CALLBACK
|
||||
w32_find_emacs_process (HWND hWnd, LPARAM lParam)
|
||||
{
|
||||
|
@ -1433,6 +1446,7 @@ w32_find_emacs_process (HWND hWnd, LPARAM lParam)
|
|||
|
||||
/* Search for a window of class "Emacs" and owned by a process with
|
||||
process id = emacs_pid. If found, allow it to grab the focus. */
|
||||
void w32_give_focus (void);
|
||||
|
||||
void
|
||||
w32_give_focus (void)
|
||||
|
@ -1526,7 +1540,7 @@ start_daemon_and_retry_set_socket (void)
|
|||
it is ready to accept client connections, by asserting an event
|
||||
whose name is known to the daemon (defined by nt/inc/ms-w32.h). */
|
||||
|
||||
if (!CreateProcess (NULL, "emacs --daemon", NULL, NULL, FALSE,
|
||||
if (!CreateProcess (NULL, (LPSTR)"emacs --daemon", NULL, NULL, FALSE,
|
||||
CREATE_NO_WINDOW, NULL, NULL, &si, &pi))
|
||||
{
|
||||
char* msg = NULL;
|
||||
|
@ -1548,7 +1562,7 @@ start_daemon_and_retry_set_socket (void)
|
|||
if ((wait_result = WaitForSingleObject (w32_daemon_event, INFINITE))
|
||||
!= WAIT_OBJECT_0)
|
||||
{
|
||||
char *msg = NULL;
|
||||
const char *msg = NULL;
|
||||
|
||||
switch (wait_result)
|
||||
{
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue