git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[RFC PATCH v4 06/19] Avoid writing to buffer in add_excludes_from_file_1()

From
Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
Date
Aug 20, 2009, 13:47 UTC
Message-ID
<1250776033-12395-7-git-send-email-pclouds@gmail.com>
In-Reply-To
<1250776033-12395-6-git-send-email-pclouds@gmail.com>

In the next patch, the buffer that is being used within add_excludes_from_file_1() comes from another function and does not have extra space to put \n at the end.

Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
---
 dir.c |    5 ++---
 1 files changed, 2 insertions(+), 3 deletions(-)
diff --git a/dir.c b/dir.c
index d0999ba..e9254d6 100644
--- a/dir.c
+++ b/dir.c
@@ -229,10 +229,9 @@ static int add_excludes_from_file_1(const char *fname,
 
 	if (buf_p)
 		*buf_p = buf;
-	buf[size++] = '\n';
 	entry = buf;
-	for (i = 0; i < size; i++) {
-		if (buf[i] == '\n') {
+	for (i = 0; i <= size; i++) {
+		if (i == size || buf[i] == '\n') {
 			if (entry != buf + i && entry[0] != '#') {
 				buf[i - (i && buf[i-1] == '\r')] = 0;
 				add_exclude(entry, base, baselen, which);
-- 
1.6.3.GIT
Previous: Nguyễn Thái Ngọc DuyNext: Nguyễn Thái Ngọc Duy
Message 7 of 27 in “Sparse checkout”
  1. 00/19 Sparse checkoutNguyễn Thái Ngọc Duy, Aug 20, 2009
  2. 01/19 update-index: refactor mark_valid() in preparation for new optionsNguyễn Thái Ngọc Duy, Aug 20, 2009
  3. 02/19 Add test-index-versionNguyễn Thái Ngọc Duy, Aug 20, 2009
  4. 03/19 Introduce "skip-worktree" bit in index, teach Git to get/set this bitNguyễn Thái Ngọc Duy, Aug 20, 2009
  5. 04/19 Teach Git to respect skip-worktree bit (reading part)Nguyễn Thái Ngọc Duy, Aug 20, 2009
  6. 05/19 Teach Git to respect skip-worktree bit (writing part)Nguyễn Thái Ngọc Duy, Aug 20, 2009
  7. 06/19 Avoid writing to buffer in add_excludes_from_file_1()Nguyễn Thái Ngọc Duy, Aug 20, 2009
  8. 07/19 Read .gitignore from index if it is skip-worktreeNguyễn Thái Ngọc Duy, Aug 20, 2009
  9. 08/19 unpack-trees(): carry skip-worktree bit over in merged_entry()Nguyễn Thái Ngọc Duy, Aug 20, 2009
  10. 09/19 excluded_1(): support exclude files in indexNguyễn Thái Ngọc Duy, Aug 20, 2009
  11. 10/19 dir.c: export excluded_1() and add_excludes_from_file_1()Nguyễn Thái Ngọc Duy, Aug 20, 2009
  12. 11/19 Introduce "sparse checkout"Nguyễn Thái Ngọc Duy, Aug 20, 2009
  13. 12/19 unpack-trees(): add CE_WT_REMOVE to remove on worktree aloneNguyễn Thái Ngọc Duy, Aug 20, 2009
  14. 13/19 unpack-trees.c: generalize verify_* functionsNguyễn Thái Ngọc Duy, Aug 20, 2009
  15. 14/19 unpack-trees(): "enable" sparse checkout and load $GIT_DIR/info/sparse-checkoutNguyễn Thái Ngọc Duy, Aug 20, 2009
  16. 15/19 unpack_trees(): apply $GIT_DIR/info/sparse-checkout to the final indexNguyễn Thái Ngọc Duy, Aug 20, 2009
  17. 16/19 unpack-trees(): ignore worktree check outside checkout areaNguyễn Thái Ngọc Duy, Aug 20, 2009
  18. 17/19 read-tree: add --no-sparse-checkout to disable sparse checkout supportNguyễn Thái Ngọc Duy, Aug 20, 2009
  19. 18/19 Add tests for sparse checkoutNguyễn Thái Ngọc Duy, Aug 20, 2009
  20. 19/19 sparse checkout: inhibit empty worktreeNguyễn Thái Ngọc Duy, Aug 20, 2009
  21. Nguyen Thai Ngoc DuyAug 21, 2009
  22. Junio C HamanoAug 21, 2009
  23. Nguyen Thai Ngoc DuyAug 22, 2009
  24. Jakub NarebskiAug 20, 2009
  25. Matthieu MoyAug 20, 2009
  26. Junio C HamanoAug 21, 2009
  27. Nguyen Thai Ngoc DuyAug 21, 2009

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.