#!/bin/bash
###SHELLPACK preamble freqmine-install 0
GIT_LOCATION=https://github.com/davidlohr/freqmine.git
MIRROR_LOCATION="$WEBROOT/freqmine/"

install-depends gcc-c++

###SHELLPACK parseargBegin
###SHELLPACK parseargEnd

###SHELLPACK git_fetch freqmine-${VERSION}.tar.gz freqmine-${VERSION}-installed

###SHELLPACK build_start freqmine-${VERSION}-installed

# Patch benchmark to make it a ro/rw IO benchmark
TEMPFILE=`mktemp`
LINECOUNT=`wc -l $0 | awk '{print $1}'`
PATCHSTART=`grep -n "BEGIN PATCH FILE" $0 | tail -1 | awk -F : '{print $1}'`
tail -$(($LINECOUNT-$PATCHSTART)) $0 | grep -v "^###" > $TEMPFILE
cat $TEMPFILE | patch -p1 || exit $SHELLPACK_FAILURE
rm $TEMPFILE

###SHELLPACK make
echo untaring input data sets
TARFILE=inputsdat.tar.xz
cd $SHELLPACK_SOURCES/freqmine-${VERSION}-installed/inputs
tar xf $TARFILE

echo freqmine installed successfully
exit $SHELLPACK_SUCCESS

==== BEGIN PATCH FILE ====
diff --git a/buffer.cpp b/buffer.cpp
index c76043b..9784028 100644
--- a/buffer.cpp
+++ b/buffer.cpp
@@ -34,6 +34,7 @@ THE POSSIBILITY OF SUCH DAMAGE.
 
 #include <stdio.h>
 #include <stdlib.h>
+#include <string.h>
 #include "buffer.h"
 #include "common.h"
 #include <malloc.h>
@@ -74,6 +75,7 @@ void memory::init()
 		printf("INIT: not enough memory to run this program\n");
 		exit(0);
 	}
+	memset(buffer[0], 0, sizeof(char) * BUFS_SMALL);
 	start[0] = buffer[0];
 	markbuf = buffer[0];
 	markcount = 0;
@@ -152,6 +154,7 @@ int memory::switchbuf(unsigned int i)  // creates a new buffer with size >= i
 		delete this;
 //		freebuf(); 
 	}
+	memset(buffer[bufcount], 0, sizeof(char) * rest[bufcount]);
 	start[bufcount] = buffer[bufcount]; 
 	return bufcount;
 } // switchbuf 
