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

[PATCH] Fix the progress code to output LF only when it is really needed

From
Alex Riesen <raa.lkml@gmail.com>
Date
May 23, 2007, 16:07 UTC
Message-ID
<81b0412b0705230907x482a0f52n6e6b2302f0f20d04@mail.gmail.com>
Signed-off-by: Alex Riesen <raa.lkml@gmail.com>
---

I was wondering about why git-reset --hard now prints an empty line between the command and the oneline commit description.

 progress.c |    6 +++++-
 progress.h |    1 +
 2 files changed, 6 insertions(+), 1 deletions(-)
From 139c597fecbb9ddf18c47b12cc97c42763a133bf Mon Sep 17 00:00:00 2001
From: Alex Riesen <raa.lkml@gmail.com>
Date: Wed, 23 May 2007 17:55:28 +0200
Subject: [PATCH] Fix the progress code to output LF only when it is really needed
Signed-off-by: Alex Riesen <raa.lkml@gmail.com>
---
 progress.c |    6 +++++-
 progress.h |    1 +
 2 files changed, 6 insertions(+), 1 deletions(-)
diff --git a/progress.c b/progress.c
index 05f7890..4344f4e 100644
--- a/progress.c
+++ b/progress.c
@@ -62,11 +62,13 @@ int display_progress(struct progress *progress, unsigned n)
 			fprintf(stderr, "%s%4u%% (%u/%u) done\r",
 				progress->prefix, percent, n, progress->total);
 			progress_update = 0;
+			progress->need_lf = 1;
 			return 1;
 		}
 	} else if (progress_update) {
 		fprintf(stderr, "%s%u\r", progress->prefix, n);
 		progress_update = 0;
+		progress->need_lf = 1;
 		return 1;
 	}
 	return 0;
@@ -80,6 +82,7 @@ void start_progress(struct progress *progress, const char *title,
 	progress->total = total;
 	progress->last_percent = -1;
 	progress->delay = 0;
+	progress->need_lf = 0;
 	if (snprintf(buf, sizeof(buf), title, total))
 		fprintf(stderr, "%s\n", buf);
 	set_progress_signal();
@@ -95,12 +98,13 @@ void start_progress_delay(struct progress *progress, const char *title,
 	progress->delayed_percent_treshold = percent_treshold;
 	progress->delayed_title = title;
 	progress->delay = delay;
+	progress->need_lf = 0;
 	set_progress_signal();
 }
 
 void stop_progress(struct progress *progress)
 {
 	clear_progress_signal();
-	if (progress->total)
+	if (progress->need_lf)
 		fputc('\n', stderr);
 }
diff --git a/progress.h b/progress.h
index 5ae1a89..a7c17ca 100644
--- a/progress.h
+++ b/progress.h
@@ -8,6 +8,7 @@ struct progress {
 	unsigned delay;
 	unsigned delayed_percent_treshold;
 	const char *delayed_title;
+	int need_lf;
 };
 
 int display_progress(struct progress *progress, unsigned n);
-- 
1.5.2.787.g56770
Message 1 of 1 in “Fix the progress code to output LF only when it is really needed”
  1. Fix the progress code to output LF only when it is really neededAlex Riesen, May 23, 2007

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.