summaryrefslogtreecommitdiff
path: root/src/intervals.h
diff options
context:
space:
mode:
authorEli Zaretskii <eliz@gnu.org>2011-04-16 21:26:30 +0300
committerEli Zaretskii <eliz@gnu.org>2011-04-16 21:26:30 +0300
commitd1dfb56cc84a6d70262d979face230a71e98d479 (patch)
tree8204edb64962a875b368dd248c00e127f9584b73 /src/intervals.h
parent10472dd0d62d986e048c01a3d37627b843a321d2 (diff)
downloademacs-d1dfb56cc84a6d70262d979face230a71e98d479.tar.gz
Fix regex.c, syntax.c and friends for buffers > 2GB.
src/syntax.h (struct gl_state_s): Declare character position members EMACS_INT. src/syntax.c (update_syntax_table): Declare 2nd argument EMACS_INT. src/textprop.c (verify_interval_modification, interval_of): Declare arguments EMACS_INT. src/intervals.c (adjust_intervals_for_insertion): Declare arguments EMACS_INT. src/intervals.h (CHECK_TOTAL_LENGTH): Cast to EMACS_INT, not `int'. src/indent.c (Fvertical_motion): Local variable it_start is now EMACS_INT. src/regex.c (re_match, re_match_2, re_match_2_internal) (bcmp_translate, regcomp, regexec, print_double_string) (group_in_compile_stack, re_search, re_search_2, regex_compile) (re_compile_pattern, re_exec): Declare arguments and local variables `size_t' and `ssize_t' and return values `regoff_t', as appropriate. (POP_FAILURE_REG_OR_COUNT) <pfreg>: Declare `long'. (CHECK_INFINITE_LOOP) <failure>: Declare `ssize_t'. <compile_stack_type>: `size' and `avail' are now `size_t'. src/regex.h <regoff_t>: Use ssize_t, not int. (re_search, re_search_2, re_match, re_match_2): Arguments that specify buffer/string position and length are now ssize_t and size_t. Return type is regoff_t.
Diffstat (limited to 'src/intervals.h')
-rw-r--r--src/intervals.h17
1 files changed, 9 insertions, 8 deletions
diff --git a/src/intervals.h b/src/intervals.h
index f1679eb8b40..6cf5c89374b 100644
--- a/src/intervals.h
+++ b/src/intervals.h
@@ -161,12 +161,12 @@ struct interval
(INTERVAL_HAS_PARENT (i) ? INTERVAL_PARENT (i) : 0)
/* Abort if interval I's size is negative. */
-#define CHECK_TOTAL_LENGTH(i) \
- do \
- { \
- if ((int) (i)->total_length < 0) \
- abort (); \
- } \
+#define CHECK_TOTAL_LENGTH(i) \
+ do \
+ { \
+ if ((EMACS_INT) (i)->total_length < 0) \
+ abort (); \
+ } \
while (0)
/* Reset this interval to its vanilla, or no-property state. */
@@ -269,7 +269,8 @@ extern INTERVAL merge_interval_left (INTERVAL);
extern void offset_intervals (struct buffer *, EMACS_INT, EMACS_INT);
extern void graft_intervals_into_buffer (INTERVAL, EMACS_INT, EMACS_INT,
struct buffer *, int);
-extern void verify_interval_modification (struct buffer *, int, int);
+extern void verify_interval_modification (struct buffer *,
+ EMACS_INT, EMACS_INT);
extern INTERVAL balance_intervals (INTERVAL);
extern void copy_intervals_to_string (Lisp_Object, struct buffer *,
EMACS_INT, EMACS_INT);
@@ -285,7 +286,7 @@ extern INTERVAL update_interval (INTERVAL, EMACS_INT);
extern void set_intervals_multibyte (int);
extern INTERVAL validate_interval_range (Lisp_Object, Lisp_Object *,
Lisp_Object *, int);
-extern INTERVAL interval_of (int, Lisp_Object);
+extern INTERVAL interval_of (EMACS_INT, Lisp_Object);
/* Defined in xdisp.c */
extern int invisible_p (Lisp_Object, Lisp_Object);