diff options
Diffstat (limited to 'src/xselect.c')
-rw-r--r-- | src/xselect.c | 22 |
1 files changed, 13 insertions, 9 deletions
diff --git a/src/xselect.c b/src/xselect.c index 20aa5a9ba0e..c57f51604b3 100644 --- a/src/xselect.c +++ b/src/xselect.c @@ -229,32 +229,36 @@ x_atom_to_symbol (display, atom) UNBLOCK_INPUT; return val; } + +/* Convert between full word time values (last modification times, etc) + and their Lisp representation as a cons cell (HIGH . LOW). */ - -static Lisp_Object +Lisp_Object long_to_cons (i) unsigned long i; { unsigned int top = i >> 16; unsigned int bot = i & 0xFFFF; - if (top == 0) return make_number (bot); - if (top == 0xFFFF) return Fcons (make_number (-1), make_number (bot)); + if (top == 0) + return make_number (bot); + if (top == 0xFFFF) + return Fcons (make_number (-1), make_number (bot)); return Fcons (make_number (top), make_number (bot)); } -static unsigned long +unsigned long cons_to_long (c) Lisp_Object c; { int top, bot; - if (INTEGERP (c)) return XINT (c); + if (INTEGERP (c)) + return XINT (c); top = XCONS (c)->car; bot = XCONS (c)->cdr; - if (CONSP (bot)) bot = XCONS (bot)->car; + if (CONSP (bot)) + bot = XCONS (bot)->car; return ((XINT (top) << 16) | XINT (bot)); } - - /* Do protocol to assert ourself as a selection owner. Update the Vselection_alist so that we can reply to later requests for |