Ticket #38151: rzip64-gstocco.diff

File rzip64-gstocco.diff, 5.7 KB (added by ryandesign (Ryan Carsten Schmidt), 4 years ago)

Difference between official rzip64 3.0 and Gabe's rzip64 "3.1"

  • Makefile

    Only in rzip64-3.1: .DS_Store
    Only in rzip64-3.1: CHANGELOG
    diff -ru rzip64-3-0/Makefile rzip64-3.1/Makefile
    old new  
    1111CC=gcc
    1212CFLAGS=-g -O2
    1313
    14 INSTALLCMD=/usr/bin/install -c
     14INSTALLCMD=/opt/local/bin/ginstall -c
    1515
    1616srcdir=.
    1717SHELL=/bin/sh
     
    4242rzip64.1: rzip64.yo
    4343        yodl2man -o rzip64.1 rzip64.yo
    4444
    45 man/rzip64-man.html: rzip64.yo
     45web/rzip64-man.html: rzip64.yo
    4646        mkdir -p man
    47         yodl2html -o man/rzip64-man.html rzip64.yo
     47        yodl2html -o web/rzip64-man.html rzip64.yo
    4848
    49 docs: rzip64.1 man/rzip64-man.html
    50         cp rzip64.1 man/rzip64.1
     49docs: rzip64.1 web/rzip64-man.html
    5150
    5251clean:
    5352        rm -f *~ $(OBJS) rzip64 config.cache config.log config.status
  • main.c

    Only in rzip64-3-0: crc32.o
    diff -ru rzip64-3-0/main.c rzip64-3.1/main.c
    old new  
    3232        printf("     -9            slowest (best) compression\n");
    3333        printf("     -d            decompress\n");
    3434        printf("     -f            force overwrite of any existing files\n");
    35         printf("     -G            use slices (stop-and-go mode)\n");
    36         printf("     -j n          use n cores in parallel\n");
     35        printf("     -G            use slices (stop-and-go mode, automatically sets -9)\n");
     36        printf("     -j n          use n cores in parallel (automatically sets -G)\n");
    3737        printf("     -k            keep existing files\n");
    3838        printf("     -L level      set compression level\n");
    3939        printf("     -o filename   specify the output file name\n");
    4040        printf("     -P            show compression progress\n");
    4141        printf("     -S suffix     specify compressed suffix (default '.rz')\n");
     42        printf("     -v -vv        add additional verbosity.\n");
    4243        printf("     -V            show version\n\n");
    4344        printf(" Note that rzip64 cannot operate on stdin/stdout\n");
    4445}
  • runzip.c

    Only in rzip64-3-0: main.o
    Only in rzip64-3-0/man: rzip64-man.html
    diff -ru rzip64-3-0/runzip.c rzip64-3.1/runzip.c
    old new  
    181181{
    182182        off_t total = 0;
    183183
    184         control->infile = 0;
    185184        while (total < expected_size) {
    186185                total += runzip_chunk(fd_in, fd_out, fd_hist);
    187186        }
  • rzip64.c

    Only in rzip64-3-0: runzip.o
    Only in rzip64-3-0: rzip64
    diff -ru rzip64-3-0/rzip64.c rzip64-3.1/rzip64.c
    old new  
    11/*
    22   Copyright (C) Kay Gorontzi, 2010
    33   based on the work of Andrew Tridgell, 1998
     4   modified to run on OS X by Gabe Stocco, 2013.
    45
    56   Modified to use flat hash, memory limit and variable hash culling
    67   by Rusty Russell copyright (C) 2003.
     
    9596};
    9697
    9798static int cores_in_use = 1;
     99static int verbosity=0;
    98100
    99101void *DeathOfChild(int dummy) {
    100102        int w;
     
    573575{
    574576        uchar *buf;
    575577
    576         printf("Mapping %d bytes from offset=%lx\n", st->chunk_size, offset);
     578        if( verbosity > 0 ) printf("Mapping %d bytes from offset=%lx\n", st->chunk_size, offset);
    577579        buf = (uchar *)mmap(NULL,st->chunk_size,PROT_READ,MAP_SHARED,fd_in,offset);
    578580        if (buf == (uchar *)-1) {
    579581                fatal("Failed to map buffer in rzip_fd\n");
     
    597599        struct  stat s, s2;
    598600        struct  rzip_state *rstate;
    599601        struct  MergeState MergeState;
    600    char   *TmpName="";
     602    char   *TmpName="";
    601603        char   *MergeStateName="";
    602604        char   *FName;
    603605        off_t   len;
    604606        int64   i, LastSlice;
    605607        int     M;
    606608        int64   chunk;
     609        verbosity=control->verbosity;
    607610
    608611        rstate = calloc(sizeof(*rstate), 1);
    609612        if (!rstate)  fatal("Failed to allocate control state in rzip_fd\n");
     
    670673                        struct stat st;
    671674                        int f;
    672675                        int isChild = FALSE;
     676                        unsigned long children=0;
    673677
    674678                        // If we reached the merge phase during the last run, we do no longer need
    675679                        // slices that are already successfully written to the output file.
     
    695699                        // operation is selected by -j <n>.
    696700                        // -------------------------------------------------------------
    697701                        while (cores_in_use > control->cores)  sleep(1);                                        // Wait for an available core
    698 
     702                        children++;
    699703                        cores_in_use++;                                                                                                                         // Allocate available core
    700704                        signal(SIGCHLD, (__sighandler_t)DeathOfChild);                                          // Ensure to be informed when done
    701705                        if (fork())  continue;
     
    711715                        close(f);                                                                                                                                               // This prevents data corruption by
    712716                        rename(TmpName, FName);                                                                                                         // incomplete segments on a later resume
    713717
    714                         if (isChild)  { printf("Child %d completed.\n", cores_in_use);  cores_in_use--;  exit(69); }
     718                        if (isChild)  {
     719                                if(control->verbosity > 0) printf("Child %d completed.\n", children);
     720                                cores_in_use--;
     721                                exit(69);
     722                        }
    715723                }
    716724                else {
    717725                        rzip_chunk(rstate, fd_in, fd_out, s.st_size - len, pct_base, pct_multiple);
  • rzip64.h

    diff -ru rzip64-3-0/rzip64.h rzip64-3.1/rzip64.h
    old new  
    11/*
    22   Copyright (C) Kay Gorontzi, 2010
    33   based on the work of Andrew Tridgell, 1998
     4   modified by to run on OS X by Gabe Stocco, 2013
    45
    56   This program is free software; you can redistribute it and/or modify
    67   it under the terms of the GNU General Public License as published by
     
    1819*/
    1920
    2021#define RZIP_MAJOR_VERSION 3
    21 #define RZIP_MINOR_VERSION 0
     22#define RZIP_MINOR_VERSION 1
    2223
    2324#define NUM_STREAMS 2
    2425
     
    120121#define TRUE 1
    121122#endif
    122123
     124// define __sighandler_t on MacOSX
     125#ifndef __sighandler_t
     126#define __sighandler_t sig_t
     127#endif
    123128
    124129#if !HAVE_STRERROR
    125130extern char *sys_errlist[];