summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/uniq.c17
1 files changed, 10 insertions, 7 deletions
diff --git a/src/uniq.c b/src/uniq.c
index 7af6072f1..b17df336d 100644
--- a/src/uniq.c
+++ b/src/uniq.c
@@ -34,9 +34,15 @@
#define AUTHORS "Richard Stallman and David MacKenzie"
-/* Undefine, to avoid warning about redefinition on some systems. */
-#undef min
-#define min(x, y) ((x) < (y) ? (x) : (y))
+#define SWAP_LINES(A, B) \
+ do \
+ { \
+ struct linebuffer *_tmp; \
+ _tmp = (A); \
+ (A) = (B); \
+ (B) = _tmp; \
+ } \
+ while (0)
/* The name this program was run with. */
char *program_name;
@@ -256,11 +262,8 @@ check_file (const char *infile, const char *outfile)
if (!match || mode == output_all_repeated)
{
- struct linebuffer *tmp;
writeline (prevline, ostream, match_count);
- tmp = prevline;
- prevline = thisline;
- thisline = tmp;
+ SWAP_LINES (prevline, thisline);
prevfield = thisfield;
prevlen = thislen;
if (!match)