*
*/
-#define VERSION_NUMBER "1.2"
+#define VERSION_NUMBER "1.2.1"
-#define _BSD_SOURCE
+#define _DEFAULT_SOURCE
#include <sys/types.h>
#include <sys/stat.h>
int ignore_empty_files = 0; /* 1 means ignore empty files */
-int show_realpaths = 0; /* 1 means ignore files and directories
- starting with a dot */
+int show_realpaths = 0; /* 1 show the canonical absolute pathname for
+ printed files */
int show_progress = 0; /* 1 means show a progress bar when we are in a
tty */
void exec_command(int nb, struct file_node **nodes) {
char **args;
- int max_group_size = 0, group_size, m, n, status;
+ int max_group_size = 0, group_size = 0, m, n, status;
pid_t pid;
for(n = 0; n < nb; n++) {
- if(n == 0 || nodes[n]->group_id != nodes[n-1]->group_id) {
+ if(n > 0 && nodes[n]->group_id != nodes[n-1]->group_id) {
group_size = 0;
}
group_size++;
char filename[PATH_MAX + 1];
for(n = 0; n < nb; n++) {
- first_of_group = 0;
+ first_of_group = (n == 0);
if(nodes[n]->group_id != current_group) {
if(file) { fclose(file); }
sprintf(filename, "%s%06d", result_file_prefix, nodes[n]->group_id);
write_groups_in_files(nb, nodes);
} else {
for(n = 0; n < nb; n++) {
- first_of_group = 0;
+ first_of_group = (n == 0);
if(n > 0 && nodes[n]->group_id != nodes[n-1]->group_id) {
if(!show_groups) {
printf("\n");
struct progress_state progress_state;
int not_in, found;
int nb_groups, nb_nodes;
- int list1_length, previous_progress;
+ int list1_length;
char *buffer1 = safe_malloc(sizeof(char) * READ_BUFFER_SIZE);
char *buffer2 = safe_malloc(sizeof(char) * READ_BUFFER_SIZE);
}
nb_groups = 0;
- previous_progress = -1;
nb_nodes = 0;
progress_state.bar_width = -1;
fprintf(out, " -h, --help show this help\n");
fprintf(out, " -d, --ignore-dots ignore dot files and directories\n");
fprintf(out, " -0, --ignore-empty ignore empty files\n");
- fprintf(out, " -c, --hide-matchings do not show which files in DIR2 corresponds to\n");
+ fprintf(out, " -c, --hide-matchings do not show which files in DIR2 correspond to\n");
fprintf(out, " those in DIR1\n");
fprintf(out, " -g, --no-group-ids do not show the file groups\n");
fprintf(out, " -t, --time-sort sort according to modification time in each group\n");