# HG changeset patch # User Kim F. Storm # Date 1087854766 0 # Node ID f7711455b84ffe72b166ef858fc6c69c8b5a582d # Parent d2086c9c0507023e215848ef081175a45b0c91e9 (Fstring): Use SAFE_ALLOCA. diff -r d2086c9c0507 -r f7711455b84f src/charset.c --- a/src/charset.c Mon Jun 21 21:52:28 2004 +0000 +++ b/src/charset.c Mon Jun 21 21:52:46 2004 +0000 @@ -1645,11 +1645,16 @@ int n; Lisp_Object *args; { - int i; - unsigned char *buf = (unsigned char *) alloca (MAX_MULTIBYTE_LENGTH * n); - unsigned char *p = buf; + int i, bufsize; + unsigned char *buf, *p; int c; int multibyte = 0; + Lisp_Object ret; + USE_SAFE_ALLOCA; + + bufsize = MAX_MULTIBYTE_LENGTH * n; + SAFE_ALLOCA (buf, unsigned char *, bufsize); + p = buf; for (i = 0; i < n; i++) { @@ -1667,7 +1672,10 @@ *p++ = c; } - return make_string_from_bytes (buf, n, p - buf); + ret = make_string_from_bytes (buf, n, p - buf); + SAFE_FREE (bufsize); + + return ret; } #endif /* emacs */