larsxschneider@xxxxxxxxx writes: > diff --git a/contrib/long-running-filter/example.pl b/contrib/long-running-filter/example.pl > ... > +sub packet_read { > + my $buffer; > + my $bytes_read = read STDIN, $buffer, 4; > + if ( $bytes_read == 0 ) { > + > + # EOF - Git stopped talking to us! > + exit(); > +... > +packet_write( "clean=true\n" ); > +packet_write( "smudge=true\n" ); > +packet_flush(); > + > +while (1) { These extra SP around the contents inside () pair look unfamiliar and somewhat strange to me, but as long as they are consistently done (and I think you are mostly being consistent), it is OK. > +#define CAP_CLEAN (1u<<0) > +#define CAP_SMUDGE (1u<<1) As these are meant to be usable together, i.e. bits in a single flag word, they are of type "unsigned int", which makes perfect sense. Make sure your variables and fields that store them are of the same type. I think I saw "int' used to pass them in at least one place. > +static int apply_filter(const char *path, const char *src, size_t len, > + int fd, struct strbuf *dst, struct convert_driver *drv, > + const int wanted_capability) > +{ > + const char* cmd = NULL; "const char *cmd = NULL;" of course. > diff --git a/unpack-trees.c b/unpack-trees.c > index 11c37fb..f6798f8 100644 > --- a/unpack-trees.c > +++ b/unpack-trees.c > @@ -10,6 +10,7 @@ > #include "attr.h" > #include "split-index.h" > #include "dir.h" > +#include "convert.h" > > /* > * Error messages expected by scripts out of plumbing commands such as Why? The resulting file seems to compile without this addition.