projects
/
git.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
packed_object_info_detail(): check for corrupt packfile.
[git.git]
/
stripspace.c
diff --git
a/stripspace.c
b/stripspace.c
index
96cd0a8
..
65a6346
100644
(file)
--- a/
stripspace.c
+++ b/
stripspace.c
@@
-6,13
+6,15
@@
* Remove empty lines from the beginning and end.
*
* Turn multiple consecutive empty lines into just one
* Remove empty lines from the beginning and end.
*
* Turn multiple consecutive empty lines into just one
- * empty line.
+ * empty line.
Return true if it is an incomplete line.
*/
*/
-static
void
cleanup(char *line)
+static
int
cleanup(char *line)
{
int len = strlen(line);
{
int len = strlen(line);
- if (len > 1 && line[len-1] == '\n') {
+ if (len && line[len-1] == '\n') {
+ if (len == 1)
+ return 0;
do {
unsigned char c = line[len-2];
if (!isspace(c))
do {
unsigned char c = line[len-2];
if (!isspace(c))
@@
-21,16
+23,19
@@
static void cleanup(char *line)
len--;
line[len] = 0;
} while (len > 1);
len--;
line[len] = 0;
} while (len > 1);
+ return 0;
}
}
+ return 1;
}
int main(int argc, char **argv)
{
int empties = -1;
}
int main(int argc, char **argv)
{
int empties = -1;
+ int incomplete = 0;
char line[1024];
while (fgets(line, sizeof(line), stdin)) {
char line[1024];
while (fgets(line, sizeof(line), stdin)) {
- cleanup(line);
+
incomplete =
cleanup(line);
/* Not just an empty line? */
if (line[0] != '\n') {
/* Not just an empty line? */
if (line[0] != '\n') {
@@
-44,5
+49,7
@@
int main(int argc, char **argv)
continue;
empties++;
}
continue;
empties++;
}
+ if (incomplete)
+ putchar('\n');
return 0;
}
return 0;
}