From a9041e6caf73abe867602bc60f2f3d48601a908d Mon Sep 17 00:00:00 2001 From: Paul Eggert Date: Tue, 21 Jun 2011 09:47:56 -0700 Subject: [PATCH] Port to Sun C. * composite.c (find_automatic_composition): Omit needless 'return 0;' that Sun C diagnosed. * fns.c (secure_hash): Fix pointer signedness issue. * intervals.c (static_offset_intervals): New function. (offset_intervals): Use it. --- src/ChangeLog | 9 +++++++++ src/composite.c | 1 - src/fns.c | 2 +- src/intervals.c | 17 ++++++++++++++--- 4 files changed, 24 insertions(+), 5 deletions(-) diff --git a/src/ChangeLog b/src/ChangeLog index 279bd1be381..48625bbf285 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,12 @@ +2011-06-21 Paul Eggert + + Port to Sun C. + * composite.c (find_automatic_composition): Omit needless 'return 0;' + that Sun C diagnosed. + * fns.c (secure_hash): Fix pointer signedness issue. + * intervals.c (static_offset_intervals): New function. + (offset_intervals): Use it. + 2011-06-21 Leo Liu * deps.mk (fns.o): diff --git a/src/composite.c b/src/composite.c index 51b7669cb4f..6a4fe803804 100644 --- a/src/composite.c +++ b/src/composite.c @@ -1676,7 +1676,6 @@ find_automatic_composition (EMACS_INT pos, EMACS_INT limit, } BACKWARD_CHAR (cur, stop); } - return 0; } /* Return the adjusted point provided that point is moved from LAST_PT diff --git a/src/fns.c b/src/fns.c index 96b8a4ed7d9..cd7e67360ec 100644 --- a/src/fns.c +++ b/src/fns.c @@ -4802,7 +4802,7 @@ secure_hash (Lisp_Object algorithm, Lisp_Object object, Lisp_Object start, Lisp_ return digest; } else - return make_unibyte_string (SDATA (digest), digest_size); + return make_unibyte_string (SSDATA (digest), digest_size); } DEFUN ("md5", Fmd5, Smd5, 1, 5, 0, diff --git a/src/intervals.c b/src/intervals.c index f9e9c864e13..4de001f2ffc 100644 --- a/src/intervals.c +++ b/src/intervals.c @@ -1425,10 +1425,15 @@ adjust_intervals_for_deletion (struct buffer *buffer, /* Make the adjustments necessary to the interval tree of BUFFER to represent an addition or deletion of LENGTH characters starting at position START. Addition or deletion is indicated by the sign - of LENGTH. */ + of LENGTH. -inline void -offset_intervals (struct buffer *buffer, EMACS_INT start, EMACS_INT length) + The two inline functions (one static) pacify Sun C 5.8, a pre-C99 + compiler that does not allow calling a static function (here, + adjust_intervals_for_deletion) from a non-static inline function. */ + +static inline void +static_offset_intervals (struct buffer *buffer, EMACS_INT start, + EMACS_INT length) { if (NULL_INTERVAL_P (BUF_INTERVALS (buffer)) || length == 0) return; @@ -1441,6 +1446,12 @@ offset_intervals (struct buffer *buffer, EMACS_INT start, EMACS_INT length) adjust_intervals_for_deletion (buffer, start, -length); } } + +inline void +offset_intervals (struct buffer *buffer, EMACS_INT start, EMACS_INT length) +{ + static_offset_intervals (buffer, start, length); +} /* Merge interval I with its lexicographic successor. The resulting interval is returned, and has the properties of the original -- 2.39.2