# HG changeset patch # User Kim F. Storm # Date 1098830330 0 # Node ID 66e97a54985f16d1cb713eeab4240bc3f433ca32 # Parent c0675c413aa3a796241def8095614068cd37b0d1 Fix SAFE_FREE calls. Replace SAFE_FREE_LISP calls. diff -r c0675c413aa3 -r 66e97a54985f src/ChangeLog --- a/src/ChangeLog Tue Oct 26 22:37:34 2004 +0000 +++ b/src/ChangeLog Tue Oct 26 22:38:50 2004 +0000 @@ -1,3 +1,14 @@ +2004-10-27 Kim F. Storm + + * editfns.c (Fformat): Allocate discarded table with SAFE_ALLOCA. + Only allocate info and discarded tables once. + + * lisp.h (USE_SAFE_ALLOCA): Add and init sa_must_free integer. + (SAFE_ALLOCA, SAFE_ALLOCA_LISP): Increment it when malloc is used. + (SAFE_FREE): Test it to determine if we need to unwind to free. + Remove size arg. All users changed. + (SAFE_FREE_LISP) Remove. All users changed to use SAFE_FREE. + 2004-10-26 Jan Dj,Ad(Brv * gtkutil.c: Put empty line between comment and function body. diff -r c0675c413aa3 -r 66e97a54985f src/casefiddle.c --- a/src/casefiddle.c Tue Oct 26 22:37:34 2004 +0000 +++ b/src/casefiddle.c Tue Oct 26 22:38:50 2004 +0000 @@ -137,7 +137,7 @@ } obj = make_multibyte_string (buf, SCHARS (obj), j_byte); - SAFE_FREE (bufsize); + SAFE_FREE (); } return obj; } diff -r c0675c413aa3 -r 66e97a54985f src/charset.c --- a/src/charset.c Tue Oct 26 22:37:34 2004 +0000 +++ b/src/charset.c Tue Oct 26 22:38:50 2004 +0000 @@ -1673,7 +1673,7 @@ } ret = make_string_from_bytes (buf, n, p - buf); - SAFE_FREE (bufsize); + SAFE_FREE (); return ret; } diff -r c0675c413aa3 -r 66e97a54985f src/data.c --- a/src/data.c Tue Oct 26 22:37:34 2004 +0000 +++ b/src/data.c Tue Oct 26 22:38:50 2004 +0000 @@ -2165,7 +2165,7 @@ p1 = SDATA (array) + idxval_byte; bcopy (str + idxval_byte + prev_bytes, p1 + new_bytes, nbytes - (idxval_byte + prev_bytes)); - SAFE_FREE (nbytes); + SAFE_FREE (); clear_string_char_byte_cache (); } while (new_bytes--) @@ -2206,7 +2206,7 @@ *p1++ = *p0++; bcopy (str + idxval_byte + prev_bytes, p1, nbytes - (idxval_byte + prev_bytes)); - SAFE_FREE (nbytes); + SAFE_FREE (); clear_string_char_byte_cache (); } } diff -r c0675c413aa3 -r 66e97a54985f src/fns.c --- a/src/fns.c Tue Oct 26 22:37:34 2004 +0000 +++ b/src/fns.c Tue Oct 26 22:38:50 2004 +0000 @@ -1012,7 +1012,7 @@ 0, 1); ret = make_multibyte_string (buf, SCHARS (string), nbytes); - SAFE_FREE (nbytes); + SAFE_FREE (); return ret; } @@ -1046,7 +1046,7 @@ str_to_multibyte (buf, nbytes, SBYTES (string)); ret = make_multibyte_string (buf, SCHARS (string), nbytes); - SAFE_FREE (nbytes); + SAFE_FREE (); return ret; } @@ -1073,7 +1073,7 @@ 1, 0); ret = make_unibyte_string (buf, nchars); - SAFE_FREE (nchars); + SAFE_FREE (); return ret; } @@ -3030,7 +3030,7 @@ args[i] = separator; ret = Fconcat (nargs, args); - SAFE_FREE_LISP (nargs); + SAFE_FREE (); return ret; } @@ -3056,7 +3056,7 @@ mapcar1 (leni, args, function, sequence); ret = Flist (leni, args); - SAFE_FREE_LISP (leni); + SAFE_FREE (); return ret; } @@ -3763,7 +3763,7 @@ if (encoded_length < 0) { /* The encoding wasn't possible. */ - SAFE_FREE (allength); + SAFE_FREE (); error ("Multibyte character in data for base64 encoding"); } @@ -3771,7 +3771,7 @@ and delete the old. (Insert first in order to preserve markers.) */ SET_PT_BOTH (XFASTINT (beg), ibeg); insert (encoded, encoded_length); - SAFE_FREE (allength); + SAFE_FREE (); del_range_byte (ibeg + encoded_length, iend + encoded_length, 1); /* If point was outside of the region, restore it exactly; else just @@ -3820,12 +3820,12 @@ if (encoded_length < 0) { /* The encoding wasn't possible. */ - SAFE_FREE (allength); + SAFE_FREE (); error ("Multibyte character in data for base64 encoding"); } encoded_string = make_unibyte_string (encoded, encoded_length); - SAFE_FREE (allength); + SAFE_FREE (); return encoded_string; } @@ -3962,7 +3962,7 @@ if (decoded_length < 0) { /* The decoding wasn't possible. */ - SAFE_FREE (allength); + SAFE_FREE (); error ("Invalid base64 data"); } @@ -3970,7 +3970,7 @@ and delete the old. (Insert first in order to preserve markers.) */ TEMP_SET_PT_BOTH (XFASTINT (beg), ibeg); insert_1_both (decoded, inserted_chars, decoded_length, 0, 1, 0); - SAFE_FREE (allength); + SAFE_FREE (); /* Delete the original text. */ del_range_both (PT, PT_BYTE, XFASTINT (end) + inserted_chars, @@ -4014,7 +4014,7 @@ else decoded_string = Qnil; - SAFE_FREE (length); + SAFE_FREE (); if (!STRINGP (decoded_string)) error ("Invalid base64 data"); diff -r c0675c413aa3 -r 66e97a54985f src/xdisp.c --- a/src/xdisp.c Tue Oct 26 22:37:34 2004 +0000 +++ b/src/xdisp.c Tue Oct 26 22:38:50 2004 +0000 @@ -6365,7 +6365,7 @@ bcopy (SDATA (msg), buffer, len); message_dolog (buffer, len - 1, 1, 0); - SAFE_FREE (len); + SAFE_FREE (); UNGCPRO; }