blob: e6730da755b1526bc117baff7d6879664418b914 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
--- egg/wnnrpc.el.2 2010-03-02 10:34:18.000000000 +0900
+++ egg/wnnrpc.el 2010-03-02 10:34:42.000000000 +0900
@@ -714,8 +714,14 @@
,send-expr ,@rcv-exprs))
(defmacro wnnrpc-get-result (&rest body)
- `(let (result)
- (comm-unpack (i) result)
+ `(let (result resulth)
+ (comm-unpack (w w) resulth result)
+ (cond ((and (= result 65535) (= resulth 65535))
+ (setq result -1))
+ ((= resulth (lsh (lsh resulth 16) -16))
+ (setq result (+ (lsh resulth 16) result)))
+ (t
+ (error "overflow")))
(if (< result 0)
(progn
(comm-unpack (i) result)
|