aboutsummaryrefslogtreecommitdiffstats
path: root/src/casefiddle.c
diff options
context:
space:
mode:
authorKim F. Storm2004-06-21 21:52:03 +0000
committerKim F. Storm2004-06-21 21:52:03 +0000
commit2b3cb54db43dbb757d60cde2d78ee654369818a7 (patch)
treeee2efbf523d15d73edd83627ca711b2a4afe3e34 /src/casefiddle.c
parentf61bef8be562934b8f2f4a32772567b4f9d3f61b (diff)
downloademacs-2b3cb54db43dbb757d60cde2d78ee654369818a7.tar.gz
emacs-2b3cb54db43dbb757d60cde2d78ee654369818a7.zip
(casify_object): Use SAFE_ALLOCA.
Diffstat (limited to 'src/casefiddle.c')
-rw-r--r--src/casefiddle.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/src/casefiddle.c b/src/casefiddle.c
index 4672bd317b9..25a5a3d12b8 100644
--- a/src/casefiddle.c
+++ b/src/casefiddle.c
@@ -110,8 +110,12 @@ casify_object (flag, obj)
110 /* The work is not yet finished because of a multibyte 110 /* The work is not yet finished because of a multibyte
111 character just encountered. */ 111 character just encountered. */
112 int fromlen, j_byte = i; 112 int fromlen, j_byte = i;
113 char *buf 113 char *buf;
114 = (char *) alloca ((len - i) * MAX_MULTIBYTE_LENGTH + i); 114 int bufsize;
115 USE_SAFE_ALLOCA;
116
117 bufsize = (len - i) * MAX_MULTIBYTE_LENGTH + i;
118 SAFE_ALLOCA (buf, char *, bufsize);
115 119
116 /* Copy data already handled. */ 120 /* Copy data already handled. */
117 bcopy (SDATA (obj), buf, i); 121 bcopy (SDATA (obj), buf, i);
@@ -133,6 +137,7 @@ casify_object (flag, obj)
133 } 137 }
134 obj = make_multibyte_string (buf, SCHARS (obj), 138 obj = make_multibyte_string (buf, SCHARS (obj),
135 j_byte); 139 j_byte);
140 SAFE_FREE (bufsize);
136 } 141 }
137 return obj; 142 return obj;
138 } 143 }