summaryrefslogtreecommitdiffstats
path: root/zdiff.cc
diff options
context:
space:
mode:
Diffstat (limited to 'zdiff.cc')
-rw-r--r--zdiff.cc16
1 files changed, 8 insertions, 8 deletions
diff --git a/zdiff.cc b/zdiff.cc
index 9312253..a173971 100644
--- a/zdiff.cc
+++ b/zdiff.cc
@@ -1,5 +1,5 @@
/* Zdiff - decompress and compare two files line by line
- Copyright (C) 2010-2020 Antonio Diaz Diaz.
+ Copyright (C) 2010-2021 Antonio Diaz Diaz.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -116,7 +116,8 @@ extern "C" void remove_fifos()
/* Set fifonames[i] to "${TMPDIR}/<coded_pid>[_-]<basename(filenames[i])>"
- and create FIFOs. */
+ and create FIFOs. The pid is coded in little endian order.
+*/
bool set_fifonames( const std::string filenames[2] )
{
enum { num_codes = 36 };
@@ -126,13 +127,12 @@ bool set_fifonames( const std::string filenames[2] )
if( p ) { fifonames[0] = p; fifonames[0] += '/'; }
else fifonames[0] = "/tmp/";
int n = getpid();
- unsigned pos = fifonames[0].size();
- do fifonames[0].insert( pos, 1, codes[n % num_codes] );
- while( n /= num_codes );
- pos = fifonames[0].size();
+ do fifonames[0] += codes[n % num_codes]; while( n /= num_codes );
+ const unsigned pos = fifonames[0].size();
+ fifonames[0] += '_';
fifonames[1] = fifonames[0];
- fifonames[0] += '_'; fifonames[0] += my_basename( filenames[0].c_str() );
- fifonames[1] += '_'; fifonames[1] += my_basename( filenames[1].c_str() );
+ fifonames[0] += my_basename( filenames[0].c_str() );
+ fifonames[1] += my_basename( filenames[1].c_str() );
if( fifonames[1] == fifonames[0] ) fifonames[1][pos] = '-';
for( int i = 0; i < 2; ++i )