Hello community,

here is the log from the commit of package afflib for openSUSE:Factory checked 
in at 2012-03-17 13:20:00
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/afflib (Old)
 and      /work/SRC/openSUSE:Factory/.afflib.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "afflib", Maintainer is ""

Changes:
--------
--- /work/SRC/openSUSE:Factory/afflib/afflib.changes    2012-02-01 
09:57:03.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.afflib.new/afflib.changes       2012-03-17 
13:20:05.000000000 +0100
@@ -1,0 +2,25 @@
+Thu Mar  8 23:11:09 UTC 2012 - greg.freem...@gmail.com
+
+- upgrade to v3.6.15
+        * configure.ac: incorporated Greg Freemyer's patch to address some
+        ncurses problems.
+        * lib/utils.h: created virtual destructore
+        * configure.ac: added AC_PROG_CXX
+        * tools/affxml.cpp (main): removed unused bflag variable
+        * lib/vnode_afd.cpp: max() is now always defined, even on windows.
+       * lib/aftimer.h (aftimer::eta_time): added std:: before string
+       * lib/utils.h: added virtual destructor for seginfo
+       * lib/afflib_pages.cpp (af_get_pagesize): having af_page_size() as
+       a macro was causing problems, so now there is both af_page_size
+       and af_get_pagesize, both of which do the same. Please use 
af_get_pagesize.
+       * aftimer.h (timestamp): updated aftimer for higher resolution on win32
+       * lib/afflib.cpp (af_get_pagesize): created af_get_pagesize, which
+       for some reason was missing.
+       * lib/afflib.h: added int af_get_pagesize(AFFILE *af);
+
+-------------------------------------------------------------------
+Mon Feb 13 17:22:48 UTC 2012 - greg.freem...@gmail.com
+
+- use the %{__make} %{?_smp_mflags} macro in the specfile
+
+-------------------------------------------------------------------

Old:
----
  afflib-3.6.12.tar.gz

New:
----
  afflib-3.6.15.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ afflib.spec ++++++
--- /var/tmp/diff_new_pack.ofs3qV/_old  2012-03-17 13:20:10.000000000 +0100
+++ /var/tmp/diff_new_pack.ofs3qV/_new  2012-03-17 13:20:10.000000000 +0100
@@ -1,7 +1,7 @@
 #
 # spec file for package afflib
 #
-# Copyright (c) 2011 SUSE LINUX Products GmbH, Nuernberg, Germany.
+# Copyright (c) 2012 SUSE LINUX Products GmbH, Nuernberg, Germany.
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -18,9 +18,10 @@
 
 Summary:        Library and tools for working with the Advanced Forensics 
Format
 Group:          System/Libraries
+
 Name:           afflib
-Version:        3.6.12
-Release:        1
+Version:        3.6.15
+Release:        0
 License:        BSD-4-Clause
 Url:            http://afflib.org/
 Source:         %{name}-%{version}.tar.gz
@@ -28,7 +29,19 @@
 Patch1:         afflib-3.6.12-no-strict-aliasing.patch
 Patch2:         afflib-3.6.12-fix-sha256-display.patch
 BuildRoot:      %{_tmppath}/%{name}-%{version}-build
-BuildRequires:  autoconf automake fuse-devel gcc-c++ gettext-tools 
libcurl-devel libexpat-devel libopenssl-devel libtool ncurses-devel 
python-devel readline-devel zlib-devel
+BuildRequires:  autoconf
+BuildRequires:  automake
+BuildRequires:  fuse-devel
+BuildRequires:  gcc-c++
+BuildRequires:  gettext-tools
+BuildRequires:  libcurl-devel
+BuildRequires:  libexpat-devel
+BuildRequires:  libopenssl-devel
+BuildRequires:  libtool
+BuildRequires:  ncurses-devel
+BuildRequires:  python-devel
+BuildRequires:  readline-devel
+BuildRequires:  zlib-devel
 
 %description
 The Advanced Forensics Format (AFF) is an openly specified, extensible
@@ -108,7 +121,7 @@
 
 %build
 %configure --enable-s3 --enable-fuse --enable-python
-make %{?_smp_flags}
+%{__make} %{?_smp_mflags}
 
 %install
 %make_install

++++++ afflib-3.6.12.tar.gz -> afflib-3.6.15.tar.gz ++++++
++++ 34888 lines of diff (skipped)
++++    retrying with extended exclude list
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/afflib-3.6.12/ChangeLog new/afflib-3.6.15/ChangeLog
--- old/afflib-3.6.12/ChangeLog 2011-05-24 00:08:21.000000000 +0200
+++ new/afflib-3.6.15/ChangeLog 2011-12-02 15:28:05.000000000 +0100
@@ -1,3 +1,56 @@
+2011-12-02  Simson Garfinkel  <simsong@alphonse-mucha>
+
+       * configure.ac: increased version number to 3.6.15
+
+2011-11-26  Simson Garfinkel  <sims...@it151636.ern.nps.edu>
+
+       * configure.ac: incorporated Greg Freemyer's patch to address some
+       ncurses problems.
+
+2011-11-24  Simson Garfinkel  <slgarfin@submit-0.local>
+
+       * lib/utils.h: created virtual destructore
+
+2011-11-21  Simson Garfinkel  <simsong@Alphonse-Mucha.local>
+
+       * configure.ac: added AC_PROG_CXX
+
+2011-11-18  Simson Garfinkel  <simsong@FC15>
+
+       * tools/affxml.cpp (main): removed unused bflag variable
+
+       * lib/vnode_afd.cpp: max() is now always defined, even on windows.
+
+2011-11-01  Simson Garfinkel  <sims...@it150660.ern.nps.edu>
+
+       * lib/aftimer.h (aftimer::eta_time): added std:: before string
+
+       * configure.ac: updated version counter to 3.6.14
+
+2011-11-01  Simson Garfinkel  <slgarfin@submit-0.local>
+
+       * lib/utils.h: added virtual destructor for seginfo
+
+2011-09-28  Simson Garfinkel  <sims...@arlington-8-30-77-137.ncr.vt.edu>
+
+       * configure.ac: incremented version counter to 3.6.13
+
+       * lib/afflib_pages.cpp (af_get_pagesize): having af_page_size() as
+       a macro was causing problems, so now there is both af_page_size
+       and af_get_pagesize, both of which do the same. Please use 
af_get_pagesize.
+
+2011-09-27  Simson Garfinkel  <simsong@Alphonse-Mucha.local>
+
+       * aftimer.h (timestamp): updated aftimer for higher resolution on win32
+
+2011-09-18  Simson Garfinkel  <sims...@imac3.home>
+
+       * lib/afflib.cpp (af_get_pagesize): created af_get_pagesize, which
+       for some reason was missing.
+
+       * lib/afflib.h: added int af_get_pagesize(AFFILE *af);
+
+
 2011-05-04  Simson Garfinkel  <sims...@alphonse-mucha.home>
 
        * configure.ac: increased version number to 3.6.11, overcomes recent 
problems.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/afflib-3.6.12/affconfig.h.in new/afflib-3.6.15/affconfig.h.in
--- old/afflib-3.6.12/affconfig.h.in    2011-05-24 00:08:29.000000000 +0200
+++ new/afflib-3.6.15/affconfig.h.in    2011-12-02 15:28:10.000000000 +0100
@@ -404,6 +404,9 @@
 /* Define to 1 if the system has the type `_Bool'. */
 #undef HAVE__BOOL
 
+/* Define to 1 if you have the <_mingw.h> header file. */
+#undef HAVE__MINGW_H
+
 /* Define to the sub-directory in which libtool stores uninstalled libraries.
    */
 #undef LT_OBJDIR
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/afflib-3.6.12/afflib.spec new/afflib-3.6.15/afflib.spec
--- old/afflib-3.6.12/afflib.spec       2011-05-24 00:12:40.000000000 +0200
+++ new/afflib-3.6.15/afflib.spec       2011-12-02 15:28:30.000000000 +0100
@@ -1,5 +1,5 @@
 Name: afflib
-Version: 3.6.12
+Version: 3.6.15
 Release: 1
 Summary: Library to support the Advanced Forensic Format
 Group: System Environment/Libraries
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/afflib-3.6.12/configure.ac new/afflib-3.6.15/configure.ac
--- old/afflib-3.6.12/configure.ac      2011-05-23 23:59:38.000000000 +0200
+++ new/afflib-3.6.15/configure.ac      2011-12-02 15:27:59.000000000 +0100
@@ -4,8 +4,7 @@
 # See http://autotoolset.sourceforge.net/tutorial.html
 # and http://www.openismus.com/documents/linux/automake/automake.shtml
 
-
-AC_INIT([AFFLIB],[3.6.12],[b...@afflib.org])
+AC_INIT([AFFLIB],[3.6.15],[b...@afflib.org])
 AM_INIT_AUTOMAKE
 AM_MAINTAINER_MODE
 
@@ -19,6 +18,7 @@
 
 # Programs that we will be using
 AC_PROG_CC
+AC_PROG_CXX
 AC_PROG_INSTALL
 
 # Turn off shared libraries during beta-testing, since they
@@ -81,7 +81,7 @@
 
 
 # Specific headers that I plan to use
-AC_CHECK_HEADERS([arpa/inet.h assert.h ctype.h dmalloc.h err.h errno.h fcntl.h 
getopt.h inttypes.h linux/fs.h malloc.h ncurses/term.h netinet/in.h regex.h 
signal.h stdint.h stdio.h stdlib.h string.h sys/cdefs.h sys/disk.h sys/file.h 
sys/ioctl.h sys/ioctl.h sys/param.h sys/param.h sys/socket.h sys/signal.h 
sys/stat.h sys/time.h sys/types.h sys/vfs.h sysexits.h term.h time.h unistd.h 
zlib.h])
+AC_CHECK_HEADERS([arpa/inet.h assert.h ctype.h dmalloc.h err.h errno.h fcntl.h 
getopt.h inttypes.h linux/fs.h malloc.h ncurses/term.h netinet/in.h regex.h 
signal.h stdint.h stdio.h stdlib.h string.h sys/cdefs.h sys/disk.h sys/file.h 
sys/ioctl.h sys/ioctl.h sys/param.h sys/param.h sys/socket.h sys/signal.h 
sys/stat.h sys/time.h sys/types.h sys/vfs.h sysexits.h term.h time.h unistd.h 
zlib.h _mingw.h])
 
 AC_CHECK_LIB([regex],[regcomp])        # see if we need -lregex
 
@@ -118,6 +118,7 @@
 AC_CHECK_LIB([ncurses],[initscr],, AC_MSG_RESULT([ncurses not installed]))
 AC_CHECK_LIB([z],[uncompress],, AC_MSG_ERROR([zlib not installed; cannot 
continue. Try adding zlib-dev or zlib1g-dev.]))
 AC_CHECK_LIB([rt],[aio_error64])
+AC_SEARCH_LIBS(tgetent, termlib termcap tinfo curses ncurses)
 AC_CHECK_FUNCS(putp tputs tgoto tgetstr tgetnum gotorc beep endwin setupterm 
printw)
 
 ################################################################
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/afflib-3.6.12/lib/afflib.h new/afflib-3.6.15/lib/afflib.h
--- old/afflib-3.6.12/lib/afflib.h      2011-03-18 13:46:16.000000000 +0100
+++ new/afflib-3.6.15/lib/afflib.h      2011-11-23 03:02:15.000000000 +0100
@@ -174,9 +174,9 @@
 
 /* navigating within the data segments as if they were a single file */
 #ifdef _WIN32
-SSIZE_T af_read(AFFILE *af,unsigned char *buf,SSIZE_T count);
+SSIZE_T   af_read(AFFILE *af,unsigned char *buf,SSIZE_T count);
 #else
-ssize_t af_read(AFFILE *af,unsigned char *buf,ssize_t count);
+ssize_t   af_read(AFFILE *af,unsigned char *buf,ssize_t count);
 #endif
 uint64_t  af_seek(AFFILE *af,int64_t pos,int whence); // returns new position
 uint64_t  af_tell(AFFILE *af);
@@ -198,9 +198,10 @@
 int        af_identify(AFFILE *af);    // returns type of AFFILE pointer
 
 /* Accessor Functions */
-int64_t            af_get_imagesize(AFFILE *af);       // byte # of last 
mapped byte in image, or size of device;
+int64_t af_get_imagesize(AFFILE *af);  // byte # of last mapped byte in image, 
or size of device;
                                        // returns -1 if error
-int        af_set_acquisition_date(AFFILE *af,time_t t); // sets 
AF_ACQUISITION_DATE
+int    af_get_pagesize(AFFILE *af);    // returns page size, or -1
+int    af_set_acquisition_date(AFFILE *af,time_t t); // sets 
AF_ACQUISITION_DATE
 
 #define af_imagesize(af) af_get_imagesize(af) // backwards compatiability 
 int        af_get_segq(AFFILE *af,const char *name,int64_t *quad);/* Get/set 
8-byte values */
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/afflib-3.6.12/lib/afflib_i.h new/afflib-3.6.15/lib/afflib_i.h
--- old/afflib-3.6.12/lib/afflib_i.h    2011-04-06 15:42:58.000000000 +0200
+++ new/afflib-3.6.15/lib/afflib_i.h    2011-11-23 03:02:15.000000000 +0100
@@ -126,7 +126,7 @@
 #endif
 
 #ifdef WIN32
-#if !defined(__MINGW_H)
+#if !defined(HAVE__MINGW_H)
 #pragma warning(disable: 4996)  /* Don't warn on Windows about using POSIX 
open() instead of _open() */
 #endif
 #include <malloc.h>
@@ -154,12 +154,12 @@
 #define S_ISDIR(m)(((m) & 0170000) == 0040000)
 #endif
 
-#if !defined(__MINGW_H)
+#if !defined(HAVE__MINGW_H)
 #define ftruncate(fd,size) _chsize_s(fd,size)
 #define MAXPATHLEN 1024
 #endif
 
-#if defined(__MINGW_H)
+#if defined(HAVE__MINGW_H)
 #ifndef ftello
 #define ftello ftello64
 #endif
@@ -252,7 +252,7 @@
 #endif
 
 
-#if defined(WIN32) && !defined(__MINGW_H)
+#if defined(WIN32) && !defined(HAVE__MINGW_H)
 /****************************************************************
  *** Windows emulation of opendir()/readdir()
  *** From php
@@ -616,7 +616,7 @@
  * Note: pagename to string translation happens inside afflib.cpp, not inside
  * the vnode driver. 
  */
-#define af_page_size(af) (af_get_pagesize(af)) /* backwards compatability */
+int    af_page_size(AFFILE *af);       // legacy (now is af_get_pagesize)
 void   af_read_sizes(AFFILE *af);      // sets up values if we can get them.
 int    af_set_pagesize(AFFILE *af,uint32_t pagesize); // sets the pagesize; 
fails with -1 if imagesize >=0
 int    af_set_sectorsize(AFFILE *AF,int sectorsize); // fails with -1 if 
imagesize>=0
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/afflib-3.6.12/lib/afflib_pages.cpp new/afflib-3.6.15/lib/afflib_pages.cpp
--- old/afflib-3.6.12/lib/afflib_pages.cpp      2011-03-18 13:46:16.000000000 
+0100
+++ new/afflib-3.6.15/lib/afflib_pages.cpp      2011-11-23 03:02:15.000000000 
+0100
@@ -99,6 +99,11 @@
     return af->image_pagesize;
 }
 
+int af_get_pagesize(AFFILE *af)
+{
+    return af->image_pagesize;
+}
+
 /* af_set_sectorsize:
  * Sets the sectorsize.
  * Fails with -1 if imagesize >=0 unless these changes permitted
@@ -198,7 +203,7 @@
     size_t page_len=0;
 
     if (af_trace){
-       
fprintf(af_trace,"af_get_page(%p,pagenum=%"I64d",buf=%p,bytes=%zu)\n",af,pagenum,data,*bytes);
+       
fprintf(af_trace,"af_get_page(%p,pagenum=%"I64d",buf=%p,bytes=%u)\n",af,pagenum,data,(int)*bytes);
     }
 
     /* Find out the size of the segment and if it is compressed or not.
@@ -293,8 +298,8 @@
 #ifdef USE_LZMA
        case AF_PAGE_COMP_ALG_LZMA:
            res = 
lzma_uncompress(data,bytes,compressed_data,compressed_data_len);
-           if (af_trace) fprintf(af_trace,"   LZMA decompressed page %"I64d". 
%zd bytes => %zd bytes\n",
-                                 pagenum,compressed_data_len,*bytes);
+           if (af_trace) fprintf(af_trace,"   LZMA decompressed page %"I64d". 
%d bytes => %u bytes\n",
+                                 pagenum,(int)compressed_data_len,(int)*bytes);
            switch(res){
            case 0:break;               // OK
            case 1:(*af->error_reporter)("LZMA header error decompressing 
segment %"I64d"\n",pagenum);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/afflib-3.6.12/lib/afflib_stream.cpp new/afflib-3.6.15/lib/afflib_stream.cpp
--- old/afflib-3.6.12/lib/afflib_stream.cpp     2010-05-19 03:39:47.000000000 
+0200
+++ new/afflib-3.6.15/lib/afflib_stream.cpp     2011-11-23 03:02:15.000000000 
+0100
@@ -53,6 +53,13 @@
  *** Internal Functions.
  ****************************************************************/
 
+#ifdef _WIN32
+#define ASIZE SSIZE_T
+#else
+#define ASIZE ssize_t 
+#endif
+
+
 /*
  * af_set_maxsize
  * Sets the maxsize.
@@ -101,12 +108,12 @@
     return ret;
 }
 
-ssize_t af_read(AFFILE *af,unsigned char *buf,ssize_t count)
+extern "C" ASIZE af_read(AFFILE *af,unsigned char *buf,ASIZE count)
 {
     int total = 0;
 
     AF_WRLOCK(af);                     // wrlock because cache may change
-    if (af_trace) fprintf(af_trace,"af_read(%p,%p,%zd) 
(pos=%"I64d")\n",af,buf,count,af->pos);
+    if (af_trace) fprintf(af_trace,"af_read(%p,%p,%d) 
(pos=%"I64d")\n",af,buf,(int)count,af->pos);
     if (af->v->read){                  // check for bypass
        int r = (af->v->read)(af, buf, af->pos, count);
        if(r>0) af->pos += r;
@@ -200,7 +207,7 @@
 {
     AF_WRLOCK(af);
     if (af_trace){
-       fprintf(af_trace,"af_write(af=%p,buf=%p,count=%zd) pos=%"I64d"\n", 
af,buf,count,af->pos);
+       fprintf(af_trace,"af_write(af=%p,buf=%p,count=%d) pos=%"I64d"\n", 
af,buf,(int)count,af->pos);
     }
     /* Invalidate caches */
     af_invalidate_vni_cache(af);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/afflib-3.6.12/lib/afflib_util.cpp new/afflib-3.6.15/lib/afflib_util.cpp
--- old/afflib-3.6.12/lib/afflib_util.cpp       2011-01-01 15:42:44.000000000 
+0100
+++ new/afflib-3.6.15/lib/afflib_util.cpp       2011-11-23 03:02:15.000000000 
+0100
@@ -131,8 +131,6 @@
        bytes--;
        charcount++;                    // how many characters
        
-       bool add_spaces = false;
-       if(flag & AF_HEXBUF_SPACE2) add_spaces = true;
        if((flag & AF_HEXBUF_SPACE4) && charcount%2==0){
            *dst++ = ' ';
            *dst   = '\000';
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/afflib-3.6.12/lib/aftimer.h new/afflib-3.6.15/lib/aftimer.h
--- old/afflib-3.6.12/lib/aftimer.h     2011-01-12 16:30:43.000000000 +0100
+++ new/afflib-3.6.15/lib/aftimer.h     2011-11-29 02:08:30.000000000 +0100
@@ -1,6 +1,5 @@
-#ifndef __TIMER_H__
-#define __TIMER_H__
-
+#ifndef __AFTIMER_H__
+#define __AFTIMER_H__
 
 #ifdef __cplusplus
 #ifndef WIN32
@@ -15,44 +14,58 @@
 #include <string>
 
 class aftimer {
-    bool used;                         // was this timer used?
     struct timeval t0;
     bool running;
     long total_sec;
     long total_usec;
     double lap_time_;                  // time from when we last did a "stop"
 public:
-    aftimer();
-    time_t tstart();
-    void start();
-    void stop();
-    double elapsed_seconds();          //
-    double lap_time();
+    aftimer():t0(),running(false),total_sec(0),total_usec(0),lap_time_(0){}
+
+    void start();                      // start the timer
+    void stop();                       // stop the timer
+
+    time_t tstart() { return t0.tv_sec;} // time we started
+    double elapsed_seconds();           // how long timer has been running, 
total
+    double lap_time();                  // how long the timer is running this 
time
     double eta(double fraction_done);  // calculate ETA in seconds, given 
fraction
     std::string hms(long t);   // turn a number of seconds into h:m:s
     std::string elapsed_text();                /* how long we have been 
running */
-    std::string eta_text(double fraction_done);
+    std::string eta_text(double fraction_done); // h:m:s
+    std::string eta_time(double fraction_done); // the actual time
 };
 
-inline aftimer::aftimer()
-{
-    running    = false;
-    total_sec  = 0;
-    total_usec = 0;
-    lap_time_  = 0;
-}
-
+/* This code in part from 
+ * 
http://social.msdn.microsoft.com/Forums/en/vcgeneral/thread/430449b3-f6dd-4e18-84de-eebd26a8d668
+ */
 
-inline time_t aftimer::tstart()
-{
-    return t0.tv_sec;
-}
+#ifdef WIN32
+#  include <winsock2.h>
+#  include <windows.h>                 
+#  ifndef DELTA_EPOCH_IN_MICROSECS
+#    if defined(_MSC_VER) || defined(_MSC_EXTENSIONS)
+#      define DELTA_EPOCH_IN_MICROSECS  11644473600000000Ui64
+#    else
+#      define DELTA_EPOCH_IN_MICROSECS  11644473600000000ULL
+#    endif
+#  endif
+#endif
 
 inline void timestamp(struct timeval *t)
 {
 #ifdef WIN32
-    t->tv_sec = time(0);
-    t->tv_usec = 0;                    /* need to fix */
+    FILETIME ft;
+    GetSystemTimeAsFileTime(&ft);
+    unsigned __int64 tmpres = 0;
+    tmpres |= ft.dwHighDateTime;
+    tmpres <<= 32;
+    tmpres |= ft.dwLowDateTime;
+ 
+    /*converting file time to unix epoch*/
+    tmpres -= DELTA_EPOCH_IN_MICROSECS; 
+    tmpres /= 10;  /*convert into microseconds*/
+    t->tv_sec = (long)(tmpres / 1000000UL);
+    t->tv_usec = (long)(tmpres % 1000000UL);
 #else
     gettimeofday(t,NULL);
 #endif    
@@ -121,14 +134,20 @@
     return hms((int)elapsed_seconds());
 }
 
+/**
+ * returns the number of seconds until the job is complete.
+ */
 inline double aftimer::eta(double fraction_done)
 {
     double t = elapsed_seconds();
-    if(t==0) return -1;                        // can't figure it out
-    if(fraction_done==0) return -1;    // can't figure it out
+    if(t<=0) return -1;                        // can't figure it out
+    if(fraction_done<=0) return -1;    // can't figure it out
     return (t * 1.0/fraction_done - t);
 }
 
+/**
+ * Retuns the number of hours:minutes:seconds until the job is done.
+ */
 inline std::string aftimer::eta_text(double fraction_done)
 {
     double e = eta(fraction_done);
@@ -136,6 +155,24 @@
     return hms((long)e);
 }
 
+/**
+ * Returns the time when data is due.
+ */
+inline std::string aftimer::eta_time(double fraction_done)
+{
+    time_t when = time_t(eta(fraction_done)) + time(0);
+    struct tm tm;
+#ifdef HAVE_LOCALTIME_R
+    localtime_r(&when,&tm);
+#else
+    tm = *localtime(&when);
+#endif
+    
+    char buf[64];
+    snprintf(buf,sizeof(buf),"%02d:%02d:%02d",tm.tm_hour,tm.tm_min,tm.tm_sec);
+    return std::string(buf);
+}
+
 #endif
 
 #endif
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/afflib-3.6.12/lib/lzma_glue.cpp new/afflib-3.6.15/lib/lzma_glue.cpp
--- old/afflib-3.6.12/lib/lzma_glue.cpp 2008-05-13 01:53:37.000000000 +0200
+++ new/afflib-3.6.15/lib/lzma_glue.cpp 2011-06-17 01:17:58.000000000 +0200
@@ -15,7 +15,6 @@
 #include "LzmaRamDecode.h"
 }
 
-
 class CInMemoryStream: public ISequentialInStream, public CMyUnknownImp {
 public:
     const unsigned char *buf;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/afflib-3.6.12/lib/utils.h new/afflib-3.6.15/lib/utils.h
--- old/afflib-3.6.12/lib/utils.h       2011-01-29 21:48:49.000000000 +0100
+++ new/afflib-3.6.15/lib/utils.h       2011-11-26 23:49:01.000000000 +0100
@@ -62,6 +62,7 @@
        bool inline operator==(const class seginfo &b) const {
            return name == b.name;
        }
+       virtual ~seginfo(){};
     };
 
     /* the seglist provides AFF internal functions and tools an easy way to get
@@ -75,6 +76,7 @@
        bool has_signed_segments();
        int get_seglist(AFFILE *af);
        seglist(){}
+       virtual ~seglist(){}
        seglist(AFFILE *af){
            get_seglist(af);
        }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/afflib-3.6.12/lib/vnode_afd.cpp new/afflib-3.6.15/lib/vnode_afd.cpp
--- old/afflib-3.6.12/lib/vnode_afd.cpp 2011-03-18 13:46:16.000000000 +0100
+++ new/afflib-3.6.15/lib/vnode_afd.cpp 2011-11-23 03:02:15.000000000 +0100
@@ -19,7 +19,7 @@
 #endif
 
 
-#if defined(WIN32) and !defined(__MINGW_H)
+#if defined(WIN32) and !defined(HAVE__MINGW_H)
 /**********************************************************************
  * Implement dirent-style opendir/readdir/rewinddir/closedir on Win32
  *
@@ -418,7 +418,7 @@
 }
 
 
-#ifndef WIN32
+#if !defined(WIN32) || defined(HAVE__MINGW_H)
 static uint64_t max(uint64_t a,uint64_t b)
 {
     return a > b ? a : b;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/afflib-3.6.12/lib/vnode_aff.cpp new/afflib-3.6.15/lib/vnode_aff.cpp
--- old/afflib-3.6.12/lib/vnode_aff.cpp 2011-03-18 13:46:16.000000000 +0100
+++ new/afflib-3.6.15/lib/vnode_aff.cpp 2011-11-23 03:02:15.000000000 +0100
@@ -45,7 +45,7 @@
 #ifdef KERNEL_LIBRARY
     aff_write_seg_no_data(af,AF_IGNORE,0,bytes);
 #else
-    if(af_trace) fprintf(af_trace,"aff_write_ignore2(%p,%zd)\n",af,bytes);
+    if(af_trace) fprintf(af_trace,"aff_write_ignore2(%p,%d)\n",af,(int)bytes);
     unsigned char *invalidate_data = (unsigned char *)calloc(bytes,1);
     aff_write_seg(af,AF_IGNORE,0,invalidate_data,bytes); // overwrite with 
NULLs
     free(invalidate_data);
@@ -58,7 +58,7 @@
     int64_t startpos = ftello(af->aseg);       // remember start position
     int r = 0;
 
-    if(af_trace) fprintf(af_trace,"aff_write_ignore(%p,%zd)\n",af,bytes);
+    if(af_trace) fprintf(af_trace,"aff_write_ignore(%p,%d)\n",af,(int)bytes);
 
     /* First write the ignore */
     r = aff_write_ignore2(af,bytes);
@@ -110,8 +110,8 @@
 
 int aff_write_seg(AFFILE *af, const char *segname,uint32_t arg,const u_char 
*data,size_t datalen)
 {
-    if(af_trace) 
fprintf(af_trace,"aff_write_seg(%p,%s,%"PRIu32",%p,len=%zu)\n",
-                        af,segname,arg,data,datalen);
+    if(af_trace) fprintf(af_trace,"aff_write_seg(%p,%s,%"PRIu32",%p,len=%u)\n",
+                        af,segname,arg,data,(int)datalen);
 
     struct af_segment_head segh;
     struct af_segment_tail segt;
@@ -140,8 +140,8 @@
     aff_toc_update(af,segname,ftello(af->aseg),datalen);
 
     
-    if(af_trace) fprintf(af_trace,"aff_write_seg: putting segment %s 
(datalen=%zd) offset=%"PRId64"\n",
-                        segname,datalen,ftello(af->aseg));
+    if(af_trace) fprintf(af_trace,"aff_write_seg: putting segment %s 
(datalen=%d) offset=%"PRId64"\n",
+                        segname,(int)datalen,ftello(af->aseg));
 
     if(fwrite(&segh,sizeof(segh),1,af->aseg)!=1) return -10;
     if(fwrite(segname,1,segname_len,af->aseg)!=segname_len) return -11;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/afflib-3.6.12/tools/affcat.cpp new/afflib-3.6.15/tools/affcat.cpp
--- old/afflib-3.6.12/tools/affcat.cpp  2011-03-18 13:46:13.000000000 +0100
+++ new/afflib-3.6.15/tools/affcat.cpp  2011-11-23 03:02:15.000000000 +0100
@@ -195,7 +195,7 @@
        }
        int count = fwrite(data,1,datalen,stdout);
        if(count!=(ssize_t)datalen){
-           fprintf(stderr,"fwrite(buf,1,%zd,outfile) only wrote %d 
bytes\n",datalen,count);
+           fprintf(stderr,"fwrite(buf,1,%d,outfile) only wrote %d 
bytes\n",(int)datalen,count);
        }
        free(data);
        return 0;
@@ -331,13 +331,12 @@
 
 int main(int argc,char **argv)
 {
-    int bflag, ch;
+    int ch;
 
 #ifdef SIGINFO
     signal(SIGINFO,sig_info);
 #endif
 
-    bflag = 0;
     while ((ch = getopt(argc, argv, "s:S:p:lLh?dqnvr:")) != -1) {
        switch (ch) {
        case 's':
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/afflib-3.6.12/tools/affcompare.cpp new/afflib-3.6.15/tools/affcompare.cpp
--- old/afflib-3.6.12/tools/affcompare.cpp      2011-03-18 13:46:13.000000000 
+0100
+++ new/afflib-3.6.15/tools/affcompare.cpp      2011-11-23 03:02:15.000000000 
+0100
@@ -339,7 +339,7 @@
        err(1,"Cannot read page %"I64d" from %s",pagenum,af_filename(af2));
 
     if(data1_len != data2_len){
-       printf("page %"I64d" size %zd != size 
%zd\n",pagenum,data1_len,data2_len);
+       printf("page %"I64d" size %d != size 
%d\n",pagenum,(int)data1_len,(int)data2_len);
        return 1;
     }
 
@@ -748,14 +748,13 @@
 
 int main(int argc,char **argv)
 {
-    int bflag, ch;
+    int ch;
     int opt_recurse=0;
 
 #ifdef SIGINFO
     signal(SIGINFO,sig_info);
 #endif
 
-    bflag = 0;
     while ((ch = getopt(argc, argv, "P:Vabcempqrsh?v")) != -1) {
        switch (ch) {
        case 'P': opt_page = atoi(optarg); break;
@@ -786,7 +785,7 @@
        recurse(dir1,dir2);
        if(errors.size()>0){
            fprintf(stderr,"================================\n");
-           fprintf(stderr,"%zd affcompare errors:\n",errors.size());
+           fprintf(stderr,"%d affcompare errors:\n",(int)errors.size());
            for(vector<string>::const_iterator i=errors.begin();
                i!=errors.end();
                i++){
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/afflib-3.6.12/tools/affconvert.cpp new/afflib-3.6.15/tools/affconvert.cpp
--- old/afflib-3.6.12/tools/affconvert.cpp      2011-03-18 04:46:58.000000000 
+0100
+++ new/afflib-3.6.15/tools/affconvert.cpp      2011-11-23 03:02:15.000000000 
+0100
@@ -550,11 +550,13 @@
     }
 
     /* Make a copy of the a_out filename if we can get it */
+#ifdef HAVE_UTIMES
     char *a_out_fn=0;                   // output filename, to remember for 
utimes
     const char *a_ = af_filename(a_out); // remember the output filename
     if(a_){
        a_out_fn = strdup(a_);  // make a copy of it
     }
+#endif
     if(af_close(a_out)) err(1,"af_close(a_out)");
 
     if(!opt_quiet){
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/afflib-3.6.12/tools/affcrypto.cpp new/afflib-3.6.15/tools/affcrypto.cpp
--- old/afflib-3.6.12/tools/affcrypto.cpp       2011-03-18 04:46:58.000000000 
+0100
+++ new/afflib-3.6.15/tools/affcrypto.cpp       2011-11-23 03:02:15.000000000 
+0100
@@ -291,7 +291,7 @@
 
 int main(int argc,char **argv)
 {
-    int bflag, ch;
+    int ch;
     const char *old_passphrase=0;
     const char *new_passphrase=0;
     const char *check_passphrase = 0;
@@ -319,7 +319,6 @@
 #endif
     }
     
-    bflag = 0;
     int opt_change = 0;
     const char *home = getenv("HOME");
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/afflib-3.6.12/tools/affinfo.cpp new/afflib-3.6.15/tools/affinfo.cpp
--- old/afflib-3.6.12/tools/affinfo.cpp 2011-05-08 02:18:32.000000000 +0200
+++ new/afflib-3.6.15/tools/affinfo.cpp 2011-11-23 03:02:15.000000000 +0100
@@ -445,7 +445,7 @@
     memset(output_line,0,sizeof(output_line));
 
     /* Now append the arg and the data len */
-    sprintf(output_line,"%-24s %8"PRIu32"   %8zd   ",segname,arg,data_len);
+    sprintf(output_line,"%-24s %8"PRIu32"   %8d   ",segname,arg,(int)data_len);
 
     if(opt_no_preview){
        printf("%s\n",output_line);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/afflib-3.6.12/tools/affix.cpp new/afflib-3.6.15/tools/affix.cpp
--- old/afflib-3.6.12/tools/affix.cpp   2011-03-18 04:46:58.000000000 +0100
+++ new/afflib-3.6.15/tools/affix.cpp   2011-11-23 03:02:15.000000000 +0100
@@ -232,12 +232,11 @@
 
 int main(int argc,char **argv)
 {
-    int bflag, ch;
+    int ch;
 
     setvbuf(stdout,0,_IONBF,0);                // turn off buffering
 
     /* Figure out how many cols the screen has... */
-    bflag = 0;
     while ((ch = getopt(argc, argv, "yh?v")) != -1) {
        switch (ch) {
        case 'y':
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/afflib-3.6.12/tools/affverify.cpp new/afflib-3.6.15/tools/affverify.cpp
--- old/afflib-3.6.12/tools/affverify.cpp       2011-03-18 04:46:58.000000000 
+0100
+++ new/afflib-3.6.15/tools/affverify.cpp       2011-11-23 03:02:15.000000000 
+0100
@@ -4,6 +4,11 @@
  * Verify the digital signature on a signed file
  */
 
+#ifdef WIN32
+#  include <winsock2.h>
+#  include <windows.h>                 
+#endif
+
 #include "affconfig.h"
 #include "afflib.h"
 #include "afflib_i.h"
@@ -509,9 +514,8 @@
 
 int main(int argc,char **argv)
 {
-    int bflag, ch;
+    int ch;
 
-    bflag = 0;
     while ((ch = getopt(argc, argv, "ach?vV")) != -1) {
        switch (ch) {
        case 'a': opt_all = 1;    break;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/afflib-3.6.12/tools/affxml.cpp new/afflib-3.6.15/tools/affxml.cpp
--- old/afflib-3.6.12/tools/affxml.cpp  2011-03-18 13:46:13.000000000 +0100
+++ new/afflib-3.6.15/tools/affxml.cpp  2011-11-23 03:02:15.000000000 +0100
@@ -324,12 +324,11 @@
 
 int main(int argc,char **argv)
 {
-    int bflag, ch;
+    int ch;
     const char *infile;
 
     /* Figure out how many cols the screen has... */
 
-    bflag = 0;
     while ((ch = getopt(argc, argv, "xj:h?Vs")) != -1) {
        switch (ch) {
        case 'j':
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/afflib-3.6.12/win32/affconfig.h new/afflib-3.6.15/win32/affconfig.h
--- old/afflib-3.6.12/win32/affconfig.h 2011-05-24 00:12:44.000000000 +0200
+++ new/afflib-3.6.15/win32/affconfig.h 2011-12-02 15:31:44.000000000 +0100
@@ -117,5 +117,5 @@
 #define HAVE_SYS_STAT_H 1
 #define HAVE_SYS_TYPES_H 1
 #define HAVE_ZLIB_H 1
-#define PACKAGE_VERSION "3.6.12"
+#define PACKAGE_VERSION "3.6.15"
 typedef SSIZE_T ssize_t;

-- 
To unsubscribe, e-mail: opensuse-commit+unsubscr...@opensuse.org
For additional commands, e-mail: opensuse-commit+h...@opensuse.org

Reply via email to