Commit 767079a8 authored by Eli Zaretskii's avatar Eli Zaretskii
Browse files

(alloc_xfer_buf): If want_size is more than 1MB,

return immediately with failure.
(Fw16_set_clipboard_data, Fw16_get_clipboard_data): Replace win16
with w16.
parent 306a5e68
/* Win16 Selection processing for emacs on MS-Windows
/* 16-bit Windows Selection processing for emacs on MS-Windows
Copyright (C) 1996, 1997 Free Software Foundation.
This file is part of GNU Emacs.
......@@ -169,6 +169,11 @@ alloc_xfer_buf (want_size)
if (want_size <= _go32_info_block.size_of_transfer_buffer)
return __tb & 0xfffff;
/* Don't even try to allocate more than 1MB of memory: DOS cannot
possibly handle that (it will overflow the BX register below). */
if (want_size > 0xfffff)
return 0;
/* Need size rounded up to the nearest paragraph, and in
paragraph units (1 paragraph = 16 bytes). */
clipboard_xfer_buf_info.size = (want_size + 15) >> 4;
......@@ -389,7 +394,7 @@ clipboard_compact (Size)
static char no_mem_msg[] =
"(Not enough DOS memory to put saved text into clipboard.)";
DEFUN ("win16-set-clipboard-data", Fwin16_set_clipboard_data, Swin16_set_clipboard_data, 1, 2, 0,
DEFUN ("w16-set-clipboard-data", Fw16_set_clipboard_data, Sw16_set_clipboard_data, 1, 2, 0,
"This sets the clipboard data to the given text.")
(string, frame)
Lisp_Object string, frame;
......@@ -444,7 +449,7 @@ DEFUN ("win16-set-clipboard-data", Fwin16_set_clipboard_data, Swin16_set_clipboa
return (ok ? string : Qnil);
}
DEFUN ("win16-get-clipboard-data", Fwin16_get_clipboard_data, Swin16_get_clipboard_data, 0, 1, 0,
DEFUN ("w16-get-clipboard-data", Fw16_get_clipboard_data, Sw16_get_clipboard_data, 0, 1, 0,
"This gets the clipboard data in text format.")
(frame)
Lisp_Object frame;
......@@ -540,8 +545,8 @@ and t is the same as `SECONDARY'.")
void
syms_of_win16select ()
{
defsubr (&Swin16_set_clipboard_data);
defsubr (&Swin16_get_clipboard_data);
defsubr (&Sw16_set_clipboard_data);
defsubr (&Sw16_get_clipboard_data);
defsubr (&Sx_selection_exists_p);
QPRIMARY = intern ("PRIMARY"); staticpro (&QPRIMARY);
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment