Mercurial > emacs
view src/unexsol.c @ 59975:501c2e5945ff
* xselect.c (x_reply_selection_request): Pass long array to
XChangeProperty so that 64 bit longs are handeled correctly.
(x_get_window_property): If format is 32 and long is bigger than 32
bits convert data from XGetWindowProperty from long array to int array.
(lisp_data_to_selection_data): When the input is a vector and the
format is 32, allocate a long array even if long is bigger than 32 bits.
(x_fill_property_data): Use char, short and long as the man page
for XChangeProperty specifies. This way the data returned is OK for
both 32 and 64 bit machines.
(x_handle_dnd_message): Calculate size correctly even for 64 bit
machines.
(Fx_send_client_event): Undo change from 2005-02-05,
x_fill_property_data now handles that case.
author | Jan Djärv <jan.h.d@swipnet.se> |
---|---|
date | Mon, 07 Feb 2005 19:59:36 +0000 |
parents | 695cf19ef79e |
children | b7bf941f8049 375f2633d815 |
line wrap: on
line source
/* Trivial unexec for Solaris. */ #include <config.h> #include <stdlib.h> #include <dlfcn.h> #include "lisp.h" #include "buffer.h" #include "charset.h" #include "coding.h" int unexec (char *new_name, char *old_name, unsigned int data_start, unsigned int bss_start, unsigned int entry_address) { Lisp_Object data; Lisp_Object errstring; if (! dldump (0, new_name, RTLD_MEMORY)) return 0; data = Fcons (build_string (new_name), Qnil); synchronize_system_messages_locale (); errstring = code_convert_string_norecord (build_string (dlerror ()), Vlocale_coding_system, 0); Fsignal (Qfile_error, Fcons (build_string ("Cannot unexec"), Fcons (errstring, data))); } /* arch-tag: d8ff72b3-8198-4011-8ef5-011b12027f59 (do not change this comment) */