diff options
| author | Michael Albinus | 2012-06-09 13:13:30 +0200 |
|---|---|---|
| committer | Michael Albinus | 2012-06-09 13:13:30 +0200 |
| commit | ff88beb8555488522be667a68d2bad106cf8f43c (patch) | |
| tree | 828ddc76b8a2fbf197d52dbd79224d0121991480 /src | |
| parent | e3a3e2133197db5c1c0ba91761ba435fde3c20f2 (diff) | |
| download | emacs-ff88beb8555488522be667a68d2bad106cf8f43c.tar.gz emacs-ff88beb8555488522be667a68d2bad106cf8f43c.zip | |
* dbusbind.c (XD_BASIC_DBUS_TYPE): Use dbus_type_is_valid and
dbus_type_is_basic if available.
(xd_extract_signed, xd_extract_unsigned): Rename from
extract_signed and extract_unsigned, respectively. Adapt callers.
Diffstat (limited to 'src')
| -rw-r--r-- | src/ChangeLog | 7 | ||||
| -rw-r--r-- | src/dbusbind.c | 47 |
2 files changed, 36 insertions, 18 deletions
diff --git a/src/ChangeLog b/src/ChangeLog index ef770cbf7ec..563faaae68b 100644 --- a/src/ChangeLog +++ b/src/ChangeLog | |||
| @@ -1,3 +1,10 @@ | |||
| 1 | 2012-06-09 Michael Albinus <michael.albinus@gmx.de> | ||
| 2 | |||
| 3 | * dbusbind.c (XD_BASIC_DBUS_TYPE): Use dbus_type_is_valid and | ||
| 4 | dbus_type_is_basic if available. | ||
| 5 | (xd_extract_signed, xd_extract_unsigned): Rename from | ||
| 6 | extract_signed and extract_unsigned, respectively. Adapt callers. | ||
| 7 | |||
| 1 | 2012-06-09 Chong Yidong <cyd@gnu.org> | 8 | 2012-06-09 Chong Yidong <cyd@gnu.org> |
| 2 | 9 | ||
| 3 | * xfaces.c (face_for_overlay_string): Handle face remapping (Bug#2066). | 10 | * xfaces.c (face_for_overlay_string): Handle face remapping (Bug#2066). |
diff --git a/src/dbusbind.c b/src/dbusbind.c index e506380e607..d80bb21cd59 100644 --- a/src/dbusbind.c +++ b/src/dbusbind.c | |||
| @@ -147,6 +147,10 @@ static int xd_in_read_queued_messages = 0; | |||
| 147 | #endif | 147 | #endif |
| 148 | 148 | ||
| 149 | /* Check whether TYPE is a basic DBusType. */ | 149 | /* Check whether TYPE is a basic DBusType. */ |
| 150 | #ifdef HAVE_DBUS_TYPE_IS_VALID | ||
| 151 | #define XD_BASIC_DBUS_TYPE(type) \ | ||
| 152 | (dbus_type_is_valid (type) && dbus_type_is_basic (type)) | ||
| 153 | #else | ||
| 150 | #ifdef DBUS_TYPE_UNIX_FD | 154 | #ifdef DBUS_TYPE_UNIX_FD |
| 151 | #define XD_BASIC_DBUS_TYPE(type) \ | 155 | #define XD_BASIC_DBUS_TYPE(type) \ |
| 152 | ((type == DBUS_TYPE_BYTE) \ | 156 | ((type == DBUS_TYPE_BYTE) \ |
| @@ -177,6 +181,7 @@ static int xd_in_read_queued_messages = 0; | |||
| 177 | || (type == DBUS_TYPE_OBJECT_PATH) \ | 181 | || (type == DBUS_TYPE_OBJECT_PATH) \ |
| 178 | || (type == DBUS_TYPE_SIGNATURE)) | 182 | || (type == DBUS_TYPE_SIGNATURE)) |
| 179 | #endif | 183 | #endif |
| 184 | #endif | ||
| 180 | 185 | ||
| 181 | /* This was a macro. On Solaris 2.11 it was said to compile for | 186 | /* This was a macro. On Solaris 2.11 it was said to compile for |
| 182 | hours, when optimization is enabled. So we have transferred it into | 187 | hours, when optimization is enabled. So we have transferred it into |
| @@ -524,7 +529,7 @@ xd_signature (char *signature, int dtype, int parent_type, Lisp_Object object) | |||
| 524 | 529 | ||
| 525 | /* Convert X to a signed integer with bounds LO and HI. */ | 530 | /* Convert X to a signed integer with bounds LO and HI. */ |
| 526 | static intmax_t | 531 | static intmax_t |
| 527 | extract_signed (Lisp_Object x, intmax_t lo, intmax_t hi) | 532 | xd_extract_signed (Lisp_Object x, intmax_t lo, intmax_t hi) |
| 528 | { | 533 | { |
| 529 | CHECK_NUMBER_OR_FLOAT (x); | 534 | CHECK_NUMBER_OR_FLOAT (x); |
| 530 | if (INTEGERP (x)) | 535 | if (INTEGERP (x)) |
| @@ -552,7 +557,7 @@ extract_signed (Lisp_Object x, intmax_t lo, intmax_t hi) | |||
| 552 | 557 | ||
| 553 | /* Convert X to an unsigned integer with bounds 0 and HI. */ | 558 | /* Convert X to an unsigned integer with bounds 0 and HI. */ |
| 554 | static uintmax_t | 559 | static uintmax_t |
| 555 | extract_unsigned (Lisp_Object x, uintmax_t hi) | 560 | xd_extract_unsigned (Lisp_Object x, uintmax_t hi) |
| 556 | { | 561 | { |
| 557 | CHECK_NUMBER_OR_FLOAT (x); | 562 | CHECK_NUMBER_OR_FLOAT (x); |
| 558 | if (INTEGERP (x)) | 563 | if (INTEGERP (x)) |
| @@ -611,9 +616,10 @@ xd_append_arg (int dtype, Lisp_Object object, DBusMessageIter *iter) | |||
| 611 | 616 | ||
| 612 | case DBUS_TYPE_INT16: | 617 | case DBUS_TYPE_INT16: |
| 613 | { | 618 | { |
| 614 | dbus_int16_t val = extract_signed (object, | 619 | dbus_int16_t val = |
| 615 | TYPE_MINIMUM (dbus_int16_t), | 620 | xd_extract_signed (object, |
| 616 | TYPE_MAXIMUM (dbus_int16_t)); | 621 | TYPE_MINIMUM (dbus_int16_t), |
| 622 | TYPE_MAXIMUM (dbus_int16_t)); | ||
| 617 | int pval = val; | 623 | int pval = val; |
| 618 | XD_DEBUG_MESSAGE ("%c %d", dtype, pval); | 624 | XD_DEBUG_MESSAGE ("%c %d", dtype, pval); |
| 619 | if (!dbus_message_iter_append_basic (iter, dtype, &val)) | 625 | if (!dbus_message_iter_append_basic (iter, dtype, &val)) |
| @@ -623,8 +629,9 @@ xd_append_arg (int dtype, Lisp_Object object, DBusMessageIter *iter) | |||
| 623 | 629 | ||
| 624 | case DBUS_TYPE_UINT16: | 630 | case DBUS_TYPE_UINT16: |
| 625 | { | 631 | { |
| 626 | dbus_uint16_t val = extract_unsigned (object, | 632 | dbus_uint16_t val = |
| 627 | TYPE_MAXIMUM (dbus_uint16_t)); | 633 | xd_extract_unsigned (object, |
| 634 | TYPE_MAXIMUM (dbus_uint16_t)); | ||
| 628 | unsigned int pval = val; | 635 | unsigned int pval = val; |
| 629 | XD_DEBUG_MESSAGE ("%c %u", dtype, pval); | 636 | XD_DEBUG_MESSAGE ("%c %u", dtype, pval); |
| 630 | if (!dbus_message_iter_append_basic (iter, dtype, &val)) | 637 | if (!dbus_message_iter_append_basic (iter, dtype, &val)) |
| @@ -634,9 +641,10 @@ xd_append_arg (int dtype, Lisp_Object object, DBusMessageIter *iter) | |||
| 634 | 641 | ||
| 635 | case DBUS_TYPE_INT32: | 642 | case DBUS_TYPE_INT32: |
| 636 | { | 643 | { |
| 637 | dbus_int32_t val = extract_signed (object, | 644 | dbus_int32_t val = |
| 638 | TYPE_MINIMUM (dbus_int32_t), | 645 | xd_extract_signed (object, |
| 639 | TYPE_MAXIMUM (dbus_int32_t)); | 646 | TYPE_MINIMUM (dbus_int32_t), |
| 647 | TYPE_MAXIMUM (dbus_int32_t)); | ||
| 640 | int pval = val; | 648 | int pval = val; |
| 641 | XD_DEBUG_MESSAGE ("%c %d", dtype, pval); | 649 | XD_DEBUG_MESSAGE ("%c %d", dtype, pval); |
| 642 | if (!dbus_message_iter_append_basic (iter, dtype, &val)) | 650 | if (!dbus_message_iter_append_basic (iter, dtype, &val)) |
| @@ -649,8 +657,9 @@ xd_append_arg (int dtype, Lisp_Object object, DBusMessageIter *iter) | |||
| 649 | case DBUS_TYPE_UNIX_FD: | 657 | case DBUS_TYPE_UNIX_FD: |
| 650 | #endif | 658 | #endif |
| 651 | { | 659 | { |
| 652 | dbus_uint32_t val = extract_unsigned (object, | 660 | dbus_uint32_t val = |
| 653 | TYPE_MAXIMUM (dbus_uint32_t)); | 661 | xd_extract_unsigned (object, |
| 662 | TYPE_MAXIMUM (dbus_uint32_t)); | ||
| 654 | unsigned int pval = val; | 663 | unsigned int pval = val; |
| 655 | XD_DEBUG_MESSAGE ("%c %u", dtype, pval); | 664 | XD_DEBUG_MESSAGE ("%c %u", dtype, pval); |
| 656 | if (!dbus_message_iter_append_basic (iter, dtype, &val)) | 665 | if (!dbus_message_iter_append_basic (iter, dtype, &val)) |
| @@ -660,9 +669,10 @@ xd_append_arg (int dtype, Lisp_Object object, DBusMessageIter *iter) | |||
| 660 | 669 | ||
| 661 | case DBUS_TYPE_INT64: | 670 | case DBUS_TYPE_INT64: |
| 662 | { | 671 | { |
| 663 | dbus_int64_t val = extract_signed (object, | 672 | dbus_int64_t val = |
| 664 | TYPE_MINIMUM (dbus_int64_t), | 673 | xd_extract_signed (object, |
| 665 | TYPE_MAXIMUM (dbus_int64_t)); | 674 | TYPE_MINIMUM (dbus_int64_t), |
| 675 | TYPE_MAXIMUM (dbus_int64_t)); | ||
| 666 | printmax_t pval = val; | 676 | printmax_t pval = val; |
| 667 | XD_DEBUG_MESSAGE ("%c %"pMd, dtype, pval); | 677 | XD_DEBUG_MESSAGE ("%c %"pMd, dtype, pval); |
| 668 | if (!dbus_message_iter_append_basic (iter, dtype, &val)) | 678 | if (!dbus_message_iter_append_basic (iter, dtype, &val)) |
| @@ -672,8 +682,9 @@ xd_append_arg (int dtype, Lisp_Object object, DBusMessageIter *iter) | |||
| 672 | 682 | ||
| 673 | case DBUS_TYPE_UINT64: | 683 | case DBUS_TYPE_UINT64: |
| 674 | { | 684 | { |
| 675 | dbus_uint64_t val = extract_unsigned (object, | 685 | dbus_uint64_t val = |
| 676 | TYPE_MAXIMUM (dbus_uint64_t)); | 686 | xd_extract_unsigned (object, |
| 687 | TYPE_MAXIMUM (dbus_uint64_t)); | ||
| 677 | uprintmax_t pval = val; | 688 | uprintmax_t pval = val; |
| 678 | XD_DEBUG_MESSAGE ("%c %"pMu, dtype, pval); | 689 | XD_DEBUG_MESSAGE ("%c %"pMu, dtype, pval); |
| 679 | if (!dbus_message_iter_append_basic (iter, dtype, &val)) | 690 | if (!dbus_message_iter_append_basic (iter, dtype, &val)) |
| @@ -1271,7 +1282,7 @@ usage: (dbus-message-internal &rest REST) */) | |||
| 1271 | } | 1282 | } |
| 1272 | else /* DBUS_MESSAGE_TYPE_METHOD_RETURN, DBUS_MESSAGE_TYPE_ERROR */ | 1283 | else /* DBUS_MESSAGE_TYPE_METHOD_RETURN, DBUS_MESSAGE_TYPE_ERROR */ |
| 1273 | { | 1284 | { |
| 1274 | serial = extract_unsigned (args[3], TYPE_MAXIMUM (dbus_uint32_t)); | 1285 | serial = xd_extract_unsigned (args[3], TYPE_MAXIMUM (dbus_uint32_t)); |
| 1275 | count = 4; | 1286 | count = 4; |
| 1276 | } | 1287 | } |
| 1277 | 1288 | ||