X-Git-Url: http://git.hcoop.net/bpt/emacs.git/blobdiff_plain/025875980c7fbde1d555bff245053241951e6909..908589fd28437a9b0995b103e22ce5e4d421eb8a:/src/doc.c diff --git a/src/doc.c b/src/doc.c index 16c0d4090a..1ddaa117bb 100644 --- a/src/doc.c +++ b/src/doc.c @@ -176,9 +176,9 @@ get_doc_string (Lisp_Object filepos, bool unibyte, bool definition) if (space_left <= 0) { ptrdiff_t in_buffer = p - get_doc_string_buffer; - get_doc_string_buffer = - xpalloc (get_doc_string_buffer, &get_doc_string_buffer_size, - 16 * 1024, -1, 1); + get_doc_string_buffer + = xpalloc (get_doc_string_buffer, &get_doc_string_buffer_size, + 16 * 1024, -1, 1); p = get_doc_string_buffer + in_buffer; space_left = (get_doc_string_buffer_size - 1 - (p - get_doc_string_buffer)); @@ -279,10 +279,10 @@ Invalid data in documentation file -- %c followed by code %03o", else { /* The data determines whether the string is multibyte. */ - ptrdiff_t nchars = - multibyte_chars_in_text (((unsigned char *) get_doc_string_buffer - + offset), - to - (get_doc_string_buffer + offset)); + ptrdiff_t nchars + = multibyte_chars_in_text (((unsigned char *) get_doc_string_buffer + + offset), + to - (get_doc_string_buffer + offset)); return make_string_from_bytes (get_doc_string_buffer + offset, nchars, to - (get_doc_string_buffer + offset)); @@ -630,11 +630,10 @@ the same file name is found in the `doc-directory'. */) break; buf[filled] = 0; - p = buf; end = buf + (filled < 512 ? filled : filled - 128); - while (p != end && *p != '\037') p++; + p = memchr (buf, '\037', end - buf); /* p points to ^_Ffunctionname\n or ^_Vvarname\n or ^_Sfilename\n. */ - if (p != end) + if (p) { end = strchr (p, '\n'); @@ -827,7 +826,7 @@ Otherwise, return a new string, without any text properties. */) if (NILP (tem)) /* but not on any keys */ { ptrdiff_t offset = bufp - buf; - if (STRING_BYTES_BOUND - 4 < bsize) + if (bsize > STRING_BYTES_BOUND - 4) string_overflow (); buf = xrealloc (buf, bsize += 4); bufp = buf + offset;