[Sumover-dev] [svn commit] r3746 - in vic/trunk: . codec codec/h263 codec/p64 codec/tmn-x net render render/histtolut rtp tcl video win32

sumover-dev at cs.ucl.ac.uk sumover-dev at cs.ucl.ac.uk
Mon May 22 21:30:56 BST 2006


Author: socrates
Date: Mon May 22 21:31:47 2006
New Revision: 3746

Modified:
   vic/trunk/Makefile.in
   vic/trunk/Tcl.cpp
   vic/trunk/codec/compositor.cpp
   vic/trunk/codec/decoder-bvc.cpp
   vic/trunk/codec/decoder-h261v1.cpp
   vic/trunk/codec/decoder-pvh.cpp
   vic/trunk/codec/decoder.cpp
   vic/trunk/codec/encoder-h261.cpp
   vic/trunk/codec/encoder-raw.cpp
   vic/trunk/codec/h263/Motion.h
   vic/trunk/codec/h263/Util.h
   vic/trunk/codec/h263/code.h
   vic/trunk/codec/jpeg/jpeg.cpp
   vic/trunk/codec/p64/mkhuff.cpp
   vic/trunk/codec/p64/p64.cpp
   vic/trunk/codec/tmn-x/main.c
   vic/trunk/codec/transcoder-jpeg.cpp
   vic/trunk/main.cpp
   vic/trunk/net/communicator.cpp
   vic/trunk/net/confbus.cpp
   vic/trunk/net/crypt-des.cpp
   vic/trunk/net/crypt-dull.cpp
   vic/trunk/net/crypt.cpp
   vic/trunk/net/mbus_handler.h
   vic/trunk/net/net-ipv6.cpp
   vic/trunk/net/net.h
   vic/trunk/net/pkttbl.cpp
   vic/trunk/rate-variable.cpp
   vic/trunk/render/color-ed.cpp
   vic/trunk/render/color-pseudo.cpp
   vic/trunk/render/histtolut/histtolut.cpp
   vic/trunk/render/vw.cpp
   vic/trunk/rtp/ntp-time.h
   vic/trunk/rtp/pktbuf-rtp.cpp
   vic/trunk/rtp/session.cpp
   vic/trunk/rtp/source.cpp
   vic/trunk/tcl/ui-resource.tcl
   vic/trunk/tkStripchart.c
   vic/trunk/vic_tcl.h
   vic/trunk/video/assistor-xil.cpp
   vic/trunk/video/grabber-jv.cpp
   vic/trunk/video/grabber-meteor.cpp
   vic/trunk/video/grabber-plx.cpp
   vic/trunk/video/grabber-slv.cpp
   vic/trunk/video/grabber-still.cpp
   vic/trunk/video/grabber-sunrise.cpp
   vic/trunk/video/grabber-x11.cpp
   vic/trunk/video/grabber-xil.cpp
   vic/trunk/video/grabber.cpp
   vic/trunk/win32/win32.c

Log:
Commited a number of fixes mainly by peeking into Debian, FreeBSD, 
and Gentoo ports.

The set of fixes can be identified by the marker "//SV-XXX: FreeBSD", 
or "//SV-XXX: Debian" (will be removed in the next major release).

The set of fixes is part of the "sumover-1Qb-release" and these fixes
are described in detail on the wiki:
	https://frostie.cs.ucl.ac.uk/nets/mmedia/milestone/sumover-1Qb-release
and related tickets:
	37, 41, 42, 43, 44, 45, 46

Summary of main fixes:
	- fixed rat man page problem for Debian
	- using intptr_t casts for 64-bit architectures in vic
	- added missing #includes, and removed redundant ones
	- added some missing function prototypes
	- better fix for GETTIMEOFDAY_TO_NTP_OFFSET
	- using delete[] for some objects allocated with "new"
	- using various casts, including (sig_t) for unix signals
	- now using intmax_t cast for time_t struct
	- use srandomdev() instead for srandom() in FreeBSD
	- use openssl's md5 instead of vic's own, link to -lcrypto



Modified: vic/trunk/Makefile.in
==============================================================================
--- vic/trunk/Makefile.in	(original)
+++ vic/trunk/Makefile.in	Mon May 22 21:31:47 2006
@@ -89,7 +89,7 @@
 OBJ_XIL = @V_OBJ_XIL@
 OBJ_CRYPT = @V_OBJ_CRYPT@
 LIB = $(LIB_GRABBER) @V_LIB_TK@ @V_LIB_TCL@ @V_LIB_X11@ @V_LIB@ \
-	codec/tmndec/libh263.a codec/tmn-x/libh263coder.a ../common/src/libuclmmbase.a -lm
+	codec/tmndec/libh263.a codec/tmn-x/libh263coder.a ../common/src/libuclmmbase.a -lm -lcrypto
 INCLUDE = $(INCLUDE_MISC) $(INCLUDE_GRABBER) $(INCLUDE_TK) $(INCLUDE_TCL) \
 	$(INCLUDE_X11) $(MD_INC) -Icodec/jpeg -Icodec/p64 -I.
 DEFINE = @V_DEFINE@ -DED_YBITS=$(ED_YBITS) -DSIGRET=@V_SIGRET@ -DNLAYER=8
@@ -352,7 +352,7 @@
 		mkcube rgb-cube.ppm yuv-map.ppm cm0.c cm1.c ppmtolut \
 		config.cache config.log domake.* dotar.*
 	cd codec/tmn && $(MAKE) clean
-	cd codec/tmndec && $(MAKE) clean
+	cd codec/tmndec && $(MAKE) realclean
 	rm -f codec/tmn-x/*.o codec/tmn-x/*.a
 
 realclean:

Modified: vic/trunk/Tcl.cpp
==============================================================================
--- vic/trunk/Tcl.cpp	(original)
+++ vic/trunk/Tcl.cpp	Mon May 22 21:31:47 2006
@@ -66,6 +66,7 @@
 {
 	instance_.tcl_ = tcl;
 	instance_.application_ = application;
+	Tcl_Init(tcl); //SV-XXX: FreeBSD
 }
 
 void Tcl::evalc(const char* s)
@@ -81,7 +82,7 @@
 		char* p = new char[n + 1];
 		strcpy(p, s);
 		eval(p);
-		delete p;
+		delete[] p; //SV-XXX: Debian
 	}
 }
 
@@ -93,7 +94,7 @@
 		char* wrk = new char[n + 80];
 		sprintf(wrk, "tkerror \"%s: %s\"", application_, s);
 		Tcl_GlobalEval(tcl_, wrk);
-		delete wrk;
+		delete[] wrk; //SV-XXX: Debian
 		//exit(1);
 	}
 }
@@ -164,12 +165,12 @@
 	if (!tcl.dark())
 		tcl.DeleteCommand(name_);
 	if (name_ != 0)
-		delete name_;
+		delete[] name_; //SV-XXX: Debian
 	TclObject** p;
 	for (p = &all_; *p != this; p = &(*p)->next_)
 		;
 	*p = (*p)->next_;
-	delete class_name_;
+	delete[] class_name_; //SV-XXX: Debian
 }
 
 /*
@@ -203,7 +204,7 @@
 	if (name_ != 0) {
 		if (!tcl.dark())
 			tcl.DeleteCommand(name_);
-		delete name_;
+		delete[] name_; //SV-XXX: Debian
 	}
 	int n = strlen(s);
 	name_ = new char[n + 1];
@@ -263,7 +264,7 @@
 
 void TclObject::class_name(const char* s)
 {
-	delete class_name_;
+	delete[] class_name_; //SV-XXX: Debian
 	class_name_ = new char[strlen(s) + 1];
 	strcpy(class_name_, s);
 }

Modified: vic/trunk/codec/compositor.cpp
==============================================================================
--- vic/trunk/codec/compositor.cpp	(original)
+++ vic/trunk/codec/compositor.cpp	Mon May 22 21:31:47 2006
@@ -163,7 +163,7 @@
 
 int Overlay::load(const char* file, int w, int h)
 {
-	delete image_;
+	delete[] image_; //SV-XXX: Debian
 	image_ = 0;
 	int fd = open(file, O_RDONLY);
 	if (fd < 0)
@@ -174,7 +174,7 @@
 	image_ = new u_char[s];
 	int cc = read(fd, image_, s);
 	if (cc != s) {
-		delete image_;
+		delete[] image_; //SV-XXX: Debian
 		image_ = 0;
 		return (-1);
 	}
@@ -193,8 +193,8 @@
 
 Compositor::~Compositor()
 {
-	delete framebase_;
-	delete damage_;
+	delete[] framebase_; //SV-XXX: Debian
+	delete[] damage_; //SV-XXX: Debian
 	onode* p = overlays_;
 	while (p != 0) {
 		onode* n = p->next;
@@ -335,7 +335,7 @@
 	int blkw = w >> 4;
 	int blkh = h >> 4;
 	int n = blkw * blkh;
-	delete damage_;
+	delete[] damage_; //SV-XXX: Debian
 	damage_ = new u_char[n];
 	memset(damage_, 0, n);
 }
@@ -350,7 +350,7 @@
 {
 	Module::size(w, h);
 	int n = 2 * framesize_ + 2 * GRABBER_VPAD * w;
-	delete framebase_;
+	delete[] framebase_; //SV-XXX: Debian
 	framebase_ = new u_char[n];
 	frm_ = framebase_ + GRABBER_VPAD * w;
 	Compositor::crinit(w, h);
@@ -480,7 +480,7 @@
 	Module::size(w, h);
 	int fs = framesize_;
 	int n = fs + (fs >> 1) + 2 * GRABBER_VPAD * w;
-	delete framebase_;
+	delete[] framebase_; //SV-XXX: Debian
 	framebase_ = new u_char[n];
 	frm_ = framebase_ + GRABBER_VPAD * w;
 	Compositor::crinit(w, h);

Modified: vic/trunk/codec/decoder-bvc.cpp
==============================================================================
--- vic/trunk/codec/decoder-bvc.cpp	(original)
+++ vic/trunk/codec/decoder-bvc.cpp	Mon May 22 21:31:47 2006
@@ -87,9 +87,9 @@
 
 BvcDecoder::~BvcDecoder()
 {
-	delete level0_;
-	delete frm_;
-	delete blk_;
+	delete[] level0_; //SV-XXX: Debian
+	delete[] frm_; //SV-XXX: Debian
+	delete[] blk_; //SV-XXX: Debian
 }
 
 #define LINEPAD 8
@@ -138,7 +138,7 @@
 		abort();
 	}
 
-	delete frm_;
+	delete[] frm_; //SV-XXX: Debian
 	int size = width * height;
 	/*XXX 4:1:1*/
 	frm_ = new u_char[2 * size];
@@ -151,7 +151,7 @@
 	int w = width >> 1;
 	int h = height >> 1;
 	int s = (w + LINEPAD) * (h + 2);
-	delete level0_;
+	delete[] level0_; //SV-XXX: Debian
 	level0_ = new int8_t[3 * s];
 	/*XXX*/
 	memset(level0_, 0, 3 * s);
@@ -159,7 +159,7 @@
 	ll_ = level0_ + 0 * s + off;
 	lh_ = level0_ + 1 * s + off;
 	hl_ = level0_ + 2 * s + off;
-	delete blk_;
+	delete[] blk_; //SV-XXX: Debian
 	blk_ = new u_char[(width >> 4) * (height >> 4)];
 
 	Decoder::resize(width, height);

Modified: vic/trunk/codec/decoder-h261v1.cpp
==============================================================================
--- vic/trunk/codec/decoder-h261v1.cpp	(original)
+++ vic/trunk/codec/decoder-h261v1.cpp	Mon May 22 21:31:47 2006
@@ -132,7 +132,7 @@
 
 RTPv1H261Decoder::~RTPv1H261Decoder()
 {
-	delete slotbuf_;
+	delete[] slotbuf_; //SV-XXX: Debian
 	delete codec_;
 }
 
@@ -179,13 +179,13 @@
 				bp += cc;
 			}
 			if (len > wrkbuflen_) {
-				delete wrkbuf_;
+				delete[] wrkbuf_; //SV-XXX: Debian
 				wrkbuf_ = new u_char[len+4];
 				wrkbuflen_ = len;
 			}
 		} else if ((flags & 0x08) == 0 || cc > packetsize_) {
 			count(STAT_SIZE_CHANGE);
-			delete slotbuf_;
+			delete[] slotbuf_; //SV-XXX: Debian
 			slotbuf_ = 0;
 			packetsize_ = 0;
 			for (int i = 0; i < H261_SLOTS; ++i) {

Modified: vic/trunk/codec/decoder-pvh.cpp
==============================================================================
--- vic/trunk/codec/decoder-pvh.cpp	(original)
+++ vic/trunk/codec/decoder-pvh.cpp	Mon May 22 21:31:47 2006
@@ -558,7 +558,11 @@
 
 	mask_[0] = 0;
 	mask_[1] = 0;
+#ifdef INT_64
+	parse_block(lp, coef_, (INT_64 *)mask_); //SV-XXX: Debian
+#else
 	parse_block(lp, coef_, mask_);
+#endif
 }
 
 void PvhDecoder::decode_dct_refinement(rbent* lp, int bit, int nr)
@@ -870,7 +874,11 @@
 	}
 	/*XXX check dct_bias_ computation*/
 	bias_to_midstep(coef_, 1 << bit, mask_);
+#ifdef INT_64
+	rdct(coef_, *(INT_64 *)mask_, (u_char*)p, stride, (u_char*)0); //SV-XXX: Debian
+#else
 	rdct(coef_, mask_[0], mask_[1], (u_char*)p, stride, (u_char*)0);
+#endif
 }
 
 void PvhDecoder::decode_lum(int8_t* p)

Modified: vic/trunk/codec/decoder.cpp
==============================================================================
--- vic/trunk/codec/decoder.cpp	(original)
+++ vic/trunk/codec/decoder.cpp	Mon May 22 21:31:47 2006
@@ -75,7 +75,7 @@
 Decoder::~Decoder()
 {
 	if (rvts_)
-		delete rvts_;
+		delete[] rvts_; //SV-XXX: Debian
 }
 
 int Decoder::command(int argc, const char*const* argv)
@@ -311,7 +311,7 @@
 	inw_ = width;
 	inh_ = height;
 	nblk_ = (width * height) / 64;
-	delete rvts_;
+	delete[] rvts_; //SV-XXX: Debian
 	rvts_ = new u_char[nblk_];
 	memset(rvts_, 0, nblk_);
 	redraw();
@@ -350,7 +350,7 @@
 
 PlaneDecoder::~PlaneDecoder()
 {
-	delete frm_;
+	delete[] frm_; //SV-XXX: Debian
 }
 
 void PlaneDecoder::redraw()
@@ -360,7 +360,7 @@
 
 void PlaneDecoder::resize(int width, int height)
 {
-	delete frm_;
+	delete[] frm_; //SV-XXX: Debian
 	int size = width * height;
 	frm_ = new u_char[2 * size];
 	/* 

Modified: vic/trunk/codec/encoder-h261.cpp
==============================================================================
--- vic/trunk/codec/encoder-h261.cpp	(original)
+++ vic/trunk/codec/encoder-h261.cpp	Mon May 22 21:31:47 2006
@@ -217,9 +217,9 @@
 {
 	for (int q = 0; q < 32; ++q) {
 		if (llm_[q] != 0)
-			delete (void *)llm_[q];
+			delete llm_[q]; //SV-XXX: Debian
 		if (clm_[q] != 0)
-			delete (void *)clm_[q];
+			delete clm_[q]; //SV-XXX: Debian
 	}
 }
 

Modified: vic/trunk/codec/encoder-raw.cpp
==============================================================================
--- vic/trunk/codec/encoder-raw.cpp	(original)
+++ vic/trunk/codec/encoder-raw.cpp	Mon May 22 21:31:47 2006
@@ -135,3 +135,4 @@
 	}
 	return (TransmitterModule::command(argc, argv));
 }
+

Modified: vic/trunk/codec/h263/Motion.h
==============================================================================
--- vic/trunk/codec/h263/Motion.h	(original)
+++ vic/trunk/codec/h263/Motion.h	Mon May 22 21:31:47 2006
@@ -42,4 +42,6 @@
 } MVector;
 /***********************************************************CommentEnd********/
 
+MVector *AllocMVector(void); //SV-XXX: FreeBSD
+
 #endif /* _MOTION_STRUCTS_H_ */

Modified: vic/trunk/codec/h263/Util.h
==============================================================================
--- vic/trunk/codec/h263/Util.h	(original)
+++ vic/trunk/codec/h263/Util.h	Mon May 22 21:31:47 2006
@@ -6,7 +6,7 @@
 #ifndef _UTIL_
 #define _UTIL_
 
-#include <malloc.h>
+//#include <malloc.h> //SV-XXX: FreeBSD
 #include "error.h"
 #include <stdlib.h>
 #include <stdio.h>

Modified: vic/trunk/codec/h263/code.h
==============================================================================
--- vic/trunk/codec/h263/code.h	(original)
+++ vic/trunk/codec/h263/code.h	Mon May 22 21:31:47 2006
@@ -164,6 +164,9 @@
   /* private */
   BinTreeNode *codeTree;
 } Code;
+
+Code *InitCode(char *title, int size, int eventDim, int *event, char *cw[]); //SV-XXX: FreeBSD
+
 /***********************************************************CommentEnd********/
 
 

Modified: vic/trunk/codec/jpeg/jpeg.cpp
==============================================================================
--- vic/trunk/codec/jpeg/jpeg.cpp	(original)
+++ vic/trunk/codec/jpeg/jpeg.cpp	Mon May 22 21:31:47 2006
@@ -106,8 +106,8 @@
 
 JpegPixelDecoder::~JpegPixelDecoder() 
 {
-	delete cache_;
-	delete frm_;
+	delete[] cache_; //SV-XXX: Debian
+	delete[] frm_; //SV-XXX: Debian
 }
 
 JpegDCTDecoder::JpegDCTDecoder(const config& c, int dec, int ow, int oh)
@@ -118,7 +118,7 @@
 
 JpegDCTDecoder::~JpegDCTDecoder() 
 {
-	delete frm_;
+	delete[] frm_; //SV-XXX: Debian
 }
 
 JpegDecoder_411::JpegDecoder_411(const config& c, int ow, int oh) 

Modified: vic/trunk/codec/p64/mkhuff.cpp
==============================================================================
--- vic/trunk/codec/p64/mkhuff.cpp	(original)
+++ vic/trunk/codec/p64/mkhuff.cpp	Mon May 22 21:31:47 2006
@@ -41,9 +41,9 @@
 #include <stdio.h>
 #include <string.h>
 #include <sys/types.h>
-extern "C" {
+//extern "C" {
 //int getopt(int, char * const *, const char *);
-}
+//}
 #define HUFFSTRINGS
 #include "p64-huff.h"
 #include "config.h"

Modified: vic/trunk/codec/p64/p64.cpp
==============================================================================
--- vic/trunk/codec/p64/p64.cpp	(original)
+++ vic/trunk/codec/p64/p64.cpp	Mon May 22 21:31:47 2006
@@ -1069,7 +1069,8 @@
 	 * If input buffer not aligned, prime bit-buffer
 	 * with 8 bits; otherwise, prime it with a 16.
 	 */
-	if ((int)bp & 1) {
+	//if ((int)bp & 1) {
+	if ((intptr_t)bp & 1) { //SV-XXX: Debian bug 297949
 		bs_ = (u_short*)(bp + 1);
 		bb_ = *bp;
 		nbb_ = 8 - sbit;
@@ -1121,7 +1122,7 @@
 
 void FullP64Decoder::allocate()
 {
-	delete fs_;
+	delete[] fs_; //SV-XXX: Debian
 	int n = size_ + (size_ >> 1);
 	fs_ = new u_char[2 * n];
 	/* initialize to gray */
@@ -1228,7 +1229,7 @@
 
 void IntraP64Decoder::allocate()
 {
-	delete fs_;
+	delete[] fs_; //SV-XXX: Debian
 	int n = size_ + (size_ >> 1);
 	fs_ = new u_char[n];
 	/* initialize to gray */

Modified: vic/trunk/codec/tmn-x/main.c
==============================================================================
--- vic/trunk/codec/tmn-x/main.c	(original)
+++ vic/trunk/codec/tmn-x/main.c	Mon May 22 21:31:47 2006
@@ -1709,6 +1709,7 @@
 	frameskip = chosen_frameskip;
 	break;
     default:
+	frameskip = chosen_frameskip; //SV-XXX: Debian
 	break;
 
     }

Modified: vic/trunk/codec/transcoder-jpeg.cpp
==============================================================================
--- vic/trunk/codec/transcoder-jpeg.cpp	(original)
+++ vic/trunk/codec/transcoder-jpeg.cpp	Mon May 22 21:31:47 2006
@@ -209,7 +209,7 @@
 	norow_ = oheight_ / 8;
 	oblocks_ = nocol_ * norow_;
 
-	delete crvec_;
+	delete[] crvec_; //SV-XXX: Debian
 	crvlen_  = oblocks_ / 4;
 	crvec_ = new u_char[crvlen_];
 

Modified: vic/trunk/main.cpp
==============================================================================
--- vic/trunk/main.cpp	(original)
+++ vic/trunk/main.cpp	Mon May 22 21:31:47 2006
@@ -168,7 +168,7 @@
 } cmd_usage;
 
 #ifndef SIGARGS
-#if defined(__SUNPRO_CC) || defined(Linux)
+#if defined(__SUNPRO_CC) || defined(Linux) || defined(__FreeBSD__)
 #define SIGARGS int arg
 #else
 #define SIGARGS ... 
@@ -378,6 +378,7 @@
 		struct  utsname name;
 	} s;
 
+	memset(&s, 0, sizeof(s)); /* Avoid uninitialized padding */ //SV-XXX: Debian
 	gettimeofday(&s.tv, 0);
 	uname(&s.name);
 	s.cpu  = clock();
@@ -432,13 +433,17 @@
 int
 main(int argc, const char** argv)
 {
+#ifdef __FreeBSD__
+        srandomdev(); //SV-XXX: FreeBSD
+#else
 	srandom(heuristic_random());
+#endif
 
 #ifdef SIGHUP
-	signal(SIGHUP, ciao);
+	signal(SIGHUP, (sig_t)ciao); //SV-XXX: Debian
 #endif
-	signal(SIGINT, ciao);
-	signal(SIGTERM, ciao);
+	signal(SIGINT, (sig_t)ciao); //SV-XXX: Debian
+	signal(SIGTERM, (sig_t)ciao); //SV-XXX: Debian
 #ifdef __FreeBSD__
 	signal(SIGSYS, (sig_t)noXShm);
 #endif

Modified: vic/trunk/net/communicator.cpp
==============================================================================
--- vic/trunk/net/communicator.cpp	(original)
+++ vic/trunk/net/communicator.cpp	Mon May 22 21:31:47 2006
@@ -75,8 +75,8 @@
 
 Communicator::~Communicator()
 {
-	delete callback_;
-	delete pktbuf_;
+	delete[] callback_; //SV-XXX: Debian
+	delete[] pktbuf_; //SV-XXX: Debian
 }
 
 void Communicator::dispatch(int)
@@ -114,7 +114,7 @@
 		}
 		if (strcmp(argv[1], "handler") == 0) {
 			const char* proc = argv[2];
-			delete callback_;
+			delete[] callback_; //SV-XXX: Debian
 			callback_ = new char[strlen(proc) + 1];
 			strcpy(callback_, proc);
 			return (TCL_OK);

Modified: vic/trunk/net/confbus.cpp
==============================================================================
--- vic/trunk/net/confbus.cpp	(original)
+++ vic/trunk/net/confbus.cpp	Mon May 22 21:31:47 2006
@@ -74,7 +74,7 @@
 ConfBus::~ConfBus()
 {
 	delete ipc_;
-	delete callback_;
+	delete[] callback_; //SV-XXX: Debian
 }
 
 void ConfBus::ipc_input(int, int, u_char* msg, int cc)
@@ -133,7 +133,7 @@
 	if (argc == 3) {
 		if (strcmp(argv[1], "handler") == 0) {
 			const char* proc = argv[2];
-			delete callback_;
+			delete[] callback_; //SV-XXX: Debian
 			callback_ = new char[strlen(proc) + 1];
 			strcpy(callback_, proc);
 			return (TCL_OK);

Modified: vic/trunk/net/crypt-des.cpp
==============================================================================
--- vic/trunk/net/crypt-des.cpp	(original)
+++ vic/trunk/net/crypt-des.cpp	Mon May 22 21:31:47 2006
@@ -86,7 +86,7 @@
 
 CryptDES::~CryptDES()
 {
-	delete wrkbuf_;
+	delete[] wrkbuf_; //SV-XXX: Debian
 }
 
 int CryptDES::install_key(const u_int8_t* key)

Modified: vic/trunk/net/crypt-dull.cpp
==============================================================================
--- vic/trunk/net/crypt-dull.cpp	(original)
+++ vic/trunk/net/crypt-dull.cpp	Mon May 22 21:31:47 2006
@@ -78,7 +78,7 @@
 
 CryptDull::~CryptDull()
 {
-	delete wrkbuf_;
+	delete[] wrkbuf_; //SV-XXX: Debian
 }
 
 int CryptDull::install_key(const u_int8_t* key)

Modified: vic/trunk/net/crypt.cpp
==============================================================================
--- vic/trunk/net/crypt.cpp	(original)
+++ vic/trunk/net/crypt.cpp	Mon May 22 21:31:47 2006
@@ -41,7 +41,8 @@
 /*XXX*/
 #define PROTOTYPES 1 
 #include "global.h"
-#include "md5.h"
+//#include "md5.h"
+#include <openssl/md5.h> //SV-XXX: FreeBSD
 
 Crypt::Crypt() : badpktlen_(0), badpbit_(0)
 {
@@ -69,9 +70,9 @@
 int Crypt::set_key(const char* key)
 {
 	MD5_CTX context;
-	MD5Init(&context);
-	MD5Update(&context, (u_char*)key, strlen(key));
+	MD5_Init(&context); //SV-XXX: FreeBSD. Was own copy "MD5Init(&context)"
+	MD5_Update(&context, (u_char*)key, strlen(key)); //SV-XXX: FreeBSD. Was own copy "MD5Update(...)"
 	u_char hash[16];
-	MD5Final((u_char *)hash, &context);
+	MD5_Final((u_char *)hash, &context); //SV-XXX: FreeBSD. Was own copy "MD5Final(...)"
 	return (install_key(hash));
 }

Modified: vic/trunk/net/mbus_handler.h
==============================================================================
--- vic/trunk/net/mbus_handler.h	(original)
+++ vic/trunk/net/mbus_handler.h	Mon May 22 21:31:47 2006
@@ -49,8 +49,7 @@
 
 #include "memory.h"
 #include "mbus.h"
-#include "mbus_config.h"
-
+//#include "mbus_config.h" //SV-XXX: FreeBSD
 
 #ifdef WIN32
 extern "C" int gettimeofday(struct timeval *, struct timezone *);

Modified: vic/trunk/net/net-ipv6.cpp
==============================================================================
--- vic/trunk/net/net-ipv6.cpp	(original)
+++ vic/trunk/net/net-ipv6.cpp	Mon May 22 21:31:47 2006
@@ -59,7 +59,7 @@
 #include "config.h"
 #include "net.h"
 #include "vic_tcl.h"
-#include "inet_ntop.h"
+//#include "inet_ntop.h" //SV-XXX: FreeBSD
 
 #include "inet6.h"
 #include "net-addr.h"

Modified: vic/trunk/net/net.h
==============================================================================
--- vic/trunk/net/net.h	(original)
+++ vic/trunk/net/net.h	Mon May 22 21:31:47 2006
@@ -56,7 +56,7 @@
 class Address {
 public:
 	Address() : text_(0) {;}
-	virtual ~Address() { if (text_) delete text_; }
+	virtual ~Address() { if (text_) delete[] text_; } //SV-XXX: Debian
 
 	virtual int operator=(const char*) {return (0);}
 	virtual Address* copy() const { return (0); }

Modified: vic/trunk/net/pkttbl.cpp
==============================================================================
--- vic/trunk/net/pkttbl.cpp	(original)
+++ vic/trunk/net/pkttbl.cpp	Mon May 22 21:31:47 2006
@@ -60,7 +60,7 @@
 	bzero((char*)newtable, newsize * sizeof(pktbuf*));
 	bcopy((char*)table_, (char*)newtable, size_*sizeof(pktbuf*));
 	size_ = newsize;
-	delete table_;
+	delete[] table_; //SV-XXX: Debian
 	table_ = newtable;
 }
 
@@ -69,7 +69,7 @@
 	for (int i = 0; i < size_; i++)
 		if (table_[i] != 0)
 			pool_->release(table_[i]);
-	delete table_;
+	delete[] table_; //SV-XXX: Debian
 }
 
 int PacketTable::command(int argc, const char*const* argv)

Modified: vic/trunk/rate-variable.cpp
==============================================================================
--- vic/trunk/rate-variable.cpp	(original)
+++ vic/trunk/rate-variable.cpp	Mon May 22 21:31:47 2006
@@ -61,13 +61,13 @@
 public:
 	RateVariable(const char* name) : TclObject(name) { }
 protected:
-	static char* update_rate_var(ClientData, Tcl_Interp*, char* name1,
-				     char* name2, int flags);
+	static char* update_rate_var(ClientData, Tcl_Interp*, char* name1, //SV-XXX: FreeBSD
+				     char* name2, int flags); //SV-XXX: FreeBSD
 	int command(int argc, const char*const* argv);
 } rate_variable_cmd("rate_variable");
 
 char* RateVariable::update_rate_var(ClientData clientData, Tcl_Interp* tcl,
-				    char* name1, char* name2, int flags)
+				    char* name1, char* name2, int flags) //SV-XXX: FreeBSD
 {
 	rv_data* rv = (rv_data*)clientData;
 	if (rv == NULL)
@@ -80,7 +80,7 @@
 		 */
 		char res[128];
 		flags &= TCL_GLOBAL_ONLY;
-		char* cv = Tcl_GetVar2(tcl, name1, name2, flags);
+		char* cv = Tcl_GetVar2(tcl, name1, name2, flags); //SV-XXX: FreeBSD
 		if (cv == NULL)
 			return (tcl->result);
 		int curval = atoi(cv);

Modified: vic/trunk/render/color-ed.cpp
==============================================================================
--- vic/trunk/render/color-ed.cpp	(original)
+++ vic/trunk/render/color-ed.cpp	Mon May 22 21:31:47 2006
@@ -148,7 +148,7 @@
 	 */
 	u_char* lut = PseudoColorModel::lut_;
 #define NLUT (1 << (7+7+ED_YBITS))
-	delete lut_;
+	delete[] lut_; //SV-XXX: Debian
 	lut_ = new u_int[NLUT];
 
 	for (int v = 0; v < 1 << 7; ++v) {

Modified: vic/trunk/render/color-pseudo.cpp
==============================================================================
--- vic/trunk/render/color-pseudo.cpp	(original)
+++ vic/trunk/render/color-pseudo.cpp	Mon May 22 21:31:47 2006
@@ -60,7 +60,7 @@
 
 PseudoColorModel::~PseudoColorModel()
 {
-	delete lut_;
+	delete[] lut_; //SV-XXX: Debian
 }
 
 /*
@@ -118,7 +118,7 @@
 int PseudoColorModel::installLUT(int def_ncolor, const u_char* def_cmap,
 			      const u_char* def_lut)
 {
-	delete lut_;
+	delete[] lut_; //SV-XXX: Debian
 	lut_ = new u_char[65536];
 	u_char cmap[3*256];
 	int ncolor = -1;
@@ -135,7 +135,7 @@
 		memcpy(lut_, def_lut, 65536);
 	}
 	if (allocate(ncolor, cmap, lut_) < 0) {
-		delete lut_;
+		delete[] lut_; //SV-XXX: Debian
 		lut_ = 0;
 		return (-1);
 	}

Modified: vic/trunk/render/histtolut/histtolut.cpp
==============================================================================
--- vic/trunk/render/histtolut/histtolut.cpp	(original)
+++ vic/trunk/render/histtolut/histtolut.cpp	Mon May 22 21:31:47 2006
@@ -64,6 +64,7 @@
 #endif
 #include <sys/stat.h>
 #include <fcntl.h>
+#include <cstring> //SV-XXX: FreeBSD
 
 #ifdef WIN32
 extern "C" {
@@ -144,7 +145,8 @@
  * For further details see "Introduction to Algorithms" by Carmen,
  * Lieserson and Rivest.
  */
-//extern void *memset(void *, int, size_t);
+//extern void *std::memset(void *, int, size_t); //SV-XXX: FreeBSD
+//SV-XXX: FreeBSD: replaced all occurences of memset with std::memset() further down
 
 /* XXX should pass backup array in as argument, that way can create it
    only once. */
@@ -156,7 +158,7 @@
  \
 	register histItem** hist = &h[idx]; \
 	int j; \
-	memset((void *)aux, 0, 256 * sizeof(int)); \
+	std::memset((void *)aux, 0, 256 * sizeof(int)); \
 	for (j = 0; j < n; j++) \
 		aux[hist[j]->c.fld]++; \
 	 \
@@ -201,7 +203,7 @@
 	box* bv = new box[sizeof(box) * newcolors];
 
 	register u_char* colormap = cmap;
-	memset(colormap, 0, 3 * newcolors);
+	std::memset(colormap, 0, 3 * newcolors); //SV-XXX: FreeBSD
 
 	/* Set up the initial box. */
 	bv[0].ind = 0;
@@ -452,7 +454,7 @@
 	box* bv = new box[sizeof(box) * newcolors];
 
 	register u_char* colormap = cmap;
-	memset(colormap, 0, 3 * newcolors);
+	std::memset(colormap, 0, 3 * newcolors); //SV-XXX: FreeBSD
 
 	/* Set up the initial box. */
 	bv[0].ind = 0;
@@ -641,7 +643,7 @@
 		abort();
 
 	int ncol[MAX_YLEVELS];
-	memset(ncol, 0, sizeof(ncol));
+	std::memset(ncol, 0, sizeof(ncol)); //SV-XXX: FreeBSD
 	/* 
 	 * We do this in two passes so that the size of the table can be 
 	 * calculated.  Otherwise it would be have to be too big:
@@ -659,7 +661,7 @@
 		table[i] = new histItem[ncol[i]];
 
 	i = 0;
-	memset(ncol, 0, sizeof(ncol));
+	std::memset(ncol, 0, sizeof(ncol)); //SV-XXX: FreeBSD
 	for (v = 0; v < 1 << 5; ++v) {
 		for (int u = 0; u < 1 << 5; ++u) {
 			for (int y = 0; y < 1 << 4; ++y) {
@@ -690,7 +692,7 @@
 	}
 
 	histItem** histogram[MAX_YLEVELS];
-	memset(histogram, 0, sizeof(histogram));
+	std::memset(histogram, 0, sizeof(histogram)); //SV-XXX: FreeBSD
 	int totcol = 0;
 	for (i = 0; i < ny; ++i) {
 		if (ncol[i] != 0) {

Modified: vic/trunk/render/vw.cpp
==============================================================================
--- vic/trunk/render/vw.cpp	(original)
+++ vic/trunk/render/vw.cpp	Mon May 22 21:31:47 2006
@@ -169,7 +169,7 @@
 
 SlowVideoImage::~SlowVideoImage()
 {
-	delete image_->data;
+	delete[] image_->data; //SV-XXX: Debian
 }
 
 void SlowVideoImage::putimage(Display* dpy, Window window, GC gc,

Modified: vic/trunk/rtp/ntp-time.h
==============================================================================
--- vic/trunk/rtp/ntp-time.h	(original)
+++ vic/trunk/rtp/ntp-time.h	Mon May 22 21:31:47 2006
@@ -55,8 +55,8 @@
 /*
  * Number of seconds between 1-Jan-1900 and 1-Jan-1970
  */
-//SV-XXX: to shut up gcc4, broke into two parts: a) MAX_INT (signed), b) remainder offset
-#define GETTIMEOFDAY_TO_NTP_OFFSET 2147483647 + 61505153 //SV-XXX was: 2208988800
+//SV-XXX: to shut up gcc4
+#define GETTIMEOFDAY_TO_NTP_OFFSET 2208988800U //SV-XXX: Debian (neater fix to gcc4 warning)
 
 /*
  * Return a 64-bit ntp timestamp (UTC time relative to Jan 1, 1970).

Modified: vic/trunk/rtp/pktbuf-rtp.cpp
==============================================================================
--- vic/trunk/rtp/pktbuf-rtp.cpp	(original)
+++ vic/trunk/rtp/pktbuf-rtp.cpp	Mon May 22 21:31:47 2006
@@ -62,7 +62,7 @@
  // * drop back to 0).
  */
 
-RTP_BufferPool::RTP_BufferPool() : srcid_(-1)
+RTP_BufferPool::RTP_BufferPool() : srcid_((u_int32_t)-1) //SV-XXX: Debian
 {
 	for (int i = 0; i < NLAYER; ++i)
 		seqno_[i] = 1;

Modified: vic/trunk/rtp/session.cpp
==============================================================================
--- vic/trunk/rtp/session.cpp	(original)
+++ vic/trunk/rtp/session.cpp	Mon May 22 21:31:47 2006
@@ -127,7 +127,8 @@
 
 CtrlHandler::CtrlHandler()
 : ctrl_inv_bw_(0.),
-ctrl_avg_size_(128.)
+ctrl_avg_size_(128.),
+rint_(0.0) //SV-XXX: Debian
 {
 }
 

Modified: vic/trunk/rtp/source.cpp
==============================================================================
--- vic/trunk/rtp/source.cpp	(original)
+++ vic/trunk/rtp/source.cpp	Mon May 22 21:31:47 2006
@@ -60,7 +60,7 @@
 	
 	while ((p = (char**)blk_list_) != NULL) {
 		blk_list_ = *p;
-		delete p;
+		delete[] p; //SV-XXX: Debian
 	}
 }
 

Modified: vic/trunk/tcl/ui-resource.tcl
==============================================================================
--- vic/trunk/tcl/ui-resource.tcl	(original)
+++ vic/trunk/tcl/ui-resource.tcl	Mon May 22 21:31:47 2006
@@ -153,7 +153,7 @@
 	option add Vic.infoHighlightColor LightYellow2 startupFile
 	option add Vic.useJPEGforH261 false startupFile
 	option add Vic.useHardwareComp false startupFile
-	option add Vic.stillGrabber false startupFile
+	option add Vic.stillGrabber false startupFile 
 	option add Vic.siteDropTime "300" startupFile
 	option add Vic.quality "0" startupFile
 

Modified: vic/trunk/tkStripchart.c
==============================================================================
--- vic/trunk/tkStripchart.c	(original)
+++ vic/trunk/tkStripchart.c	Mon May 22 21:31:47 2006
@@ -329,19 +329,19 @@
  * Forward declarations for procedures defined later in this file:
  */
 static void Callback(Stripchart* StripchartPtr);
-static void ComputeStripchartGeometry(Stripchart* StripchartPtr);
+static void ComputeStripchartGeometry(Stripchart* StripchartPtr); //SV-XXX: FreeBSD
 static int ConfigureStripchart(Tcl_Interp* interp, Stripchart* StripchartPtr,
-				int argc, char** argv, int flags);
+				int argc, char** argv, int flags); //SV-XXX: FreeBSD
 static void DestroyStripchart(char* clientData);
 static void DisplayStripchart(ClientData clientData);
 static void DrawStripi(Stripchart* StripchartPtr, int i);
 static void EventuallyRedrawStripchart(Stripchart* StripchartPtr,
 				       int displaybits);
-static void ReplaceColours(Stripchart* StripchartPtr, int argc, char** argv);
+static void ReplaceColours(Stripchart* StripchartPtr, int argc, char** argv); //SV-XXX: FreeBSD
 static void ScrollStrips(Stripchart* StripchartPtr);
 static void StripchartEventProc(ClientData clientData, XEvent* eventPtr);
 static int StripchartWidgetCmd(ClientData clientData, Tcl_Interp* interp,
-				int argc, char** argv);
+				int argc, char** argv); //SV-XXX: FreeBSD
 static void SetStripchartValue(Stripchart* StripchartPtr, double value);
 static void SwapColours(Stripchart* StripchartPtr);
 
@@ -364,7 +364,7 @@
  */
 int
 Tk_StripchartCmd(ClientData clientData, Tcl_Interp *interp, int argc,
-		 char **argv)
+		 char **argv) //SV-XXX: FreeBSD
  {
 	Tk_Window tkwin = (Tk_Window) clientData;
 	Tk_Window new;
@@ -419,7 +419,7 @@
  */
 static int
 StripchartWidgetCmd(ClientData clientData, Tcl_Interp *interp,
-		    int argc, char **argv)
+		    int argc, char **argv) //SV-XXX: FreeBSD
 {
 	register Stripchart *StripchartPtr = (Stripchart*)clientData;
 	int result = TCL_OK;
@@ -629,7 +629,7 @@
  */
 static int
 ConfigureStripchart(Tcl_Interp *interp, Stripchart *StripchartPtr,
-		    int argc, char** argv, int flags)
+		    int argc, char** argv, int flags) //SV-XXX: FreeBSD
 {
 	XGCValues gcValues;
 	GC newGC;
@@ -699,7 +699,7 @@
  *      None.
  */
 static void
-ComputeStripchartGeometry(Stripchart* StripchartPtr)
+ComputeStripchartGeometry(Stripchart* StripchartPtr) //SV-XXX: FreeBSD
  {
 	int tt = hasatitle(StripchartPtr);
 	int bd = StripchartPtr->borderWidth;
@@ -1040,7 +1040,7 @@
  *     Stripchart is displayed with the new colour scheme.
  */
 static void 
-ReplaceColours(Stripchart* StripchartPtr, int argc, char** argv)
+ReplaceColours(Stripchart* StripchartPtr, int argc, char** argv) //SV-XXX: FreeBSD
 {
 	StripchartPtr->altborder =
 		Tk_Get3DBorder(StripchartPtr->interp, StripchartPtr->tkwin,

Modified: vic/trunk/vic_tcl.h
==============================================================================
--- vic/trunk/vic_tcl.h	(original)
+++ vic/trunk/vic_tcl.h	Mon May 22 21:31:47 2006
@@ -73,8 +73,8 @@
 		if (Tcl_EvalFile(tcl_, (char*)file) != TCL_OK)
 			error(file);
 	}
-	inline char* var(const char* varname, int flags = TCL_GLOBAL_ONLY) {
-		return (Tcl_GetVar(tcl_, (char*)varname, flags));
+	inline char* var(const char* varname, int flags = TCL_GLOBAL_ONLY) { //SV-XXX: FreeBSD
+		return (Tcl_GetVar(tcl_, (char*) varname, flags)); //SV-XXX: FreeBSD
 	}
 	/*
 	 * Hooks for invoking the tcl interpreter:
@@ -124,7 +124,7 @@
 	virtual void reset();
 	void class_name(const char*);
 	/* make this public for Sun's compiler */
-	static int callback(ClientData, Tcl_Interp*, int ac, char** av);
+	static int callback(ClientData, Tcl_Interp*, int ac, char** av); //SV-XXX: FreeBSD
 	static void reset_all();
     protected:
 	TclObject(const char* name = 0);

Modified: vic/trunk/video/assistor-xil.cpp
==============================================================================
--- vic/trunk/video/assistor-xil.cpp	(original)
+++ vic/trunk/video/assistor-xil.cpp	Mon May 22 21:31:47 2006
@@ -130,7 +130,7 @@
 	}
 	}
 	xil_cis_put_bits(cis_,len,1/*framecount*/,p);
-	if (dofree) delete p; //move this to the end, if you use put_bits_ptr
+	if (dofree) delete[] p; //move this to the end, if you use put_bits_ptr //SV-XXX: Debian
 	outputtype = xil_cis_get_output_type(cis_);
 	xil_imagetype_get_info(outputtype, &cis_xsize, &cis_ysize,&cis_nbands, &cis_datatype);
 
@@ -804,7 +804,7 @@
 	}
 	}
 	xil_cis_put_bits(cis_,len,1/*framecount*/,p);
-	if (dofree) delete p;
+	if (dofree) delete[] p; //SV-XXX: Debian
 	outputtype = xil_cis_get_output_type(cis_);
 	xil_imagetype_get_info(outputtype, &cis_xsize, &cis_ysize,&cis_nbands, &cis_datatype);
 

Modified: vic/trunk/video/grabber-jv.cpp
==============================================================================
--- vic/trunk/video/grabber-jv.cpp	(original)
+++ vic/trunk/video/grabber-jv.cpp	Mon May 22 21:31:47 2006
@@ -263,7 +263,7 @@
 		perror("vic: shmdt");
 		exit(1);
 	}
-	delete p;
+	delete[] p; //SV-XXX: Debian
 }
 
 void JvGrabber::start()

Modified: vic/trunk/video/grabber-meteor.cpp
==============================================================================
--- vic/trunk/video/grabber-meteor.cpp	(original)
+++ vic/trunk/video/grabber-meteor.cpp	Mon May 22 21:31:47 2006
@@ -152,8 +152,8 @@
 				new MeteorDevice(nickname, devname, 1);
 			}
 		} else {
-			delete nickname;
-			delete devname;
+			delete[] nickname; //SV-XXX: Debian
+			delete[] devname; //SV-XXX: Debian
 		}
 			}
 		}

Modified: vic/trunk/video/grabber-plx.cpp
==============================================================================
--- vic/trunk/video/grabber-plx.cpp	(original)
+++ vic/trunk/video/grabber-plx.cpp	Mon May 22 21:31:47 2006
@@ -449,7 +449,7 @@
 
 Plx422Grabber::~Plx422Grabber()
 {
-	delete image_;
+	delete[] image_; //SV-XXX: Debian
 }
 
 void Plx422Grabber::capture()

Modified: vic/trunk/video/grabber-slv.cpp
==============================================================================
--- vic/trunk/video/grabber-slv.cpp	(original)
+++ vic/trunk/video/grabber-slv.cpp	Mon May 22 21:31:47 2006
@@ -211,8 +211,8 @@
 				new SlicVideoDevice(nickname, devname, 0);
 			}
 		} else {
-			delete nickname;
-			delete devname;
+			delete[] nickname; //SV-XXX: Debian
+			delete[] devname; //SV-XXX: Debian
 		}
 	}
 }

Modified: vic/trunk/video/grabber-still.cpp
==============================================================================
--- vic/trunk/video/grabber-still.cpp	(original)
+++ vic/trunk/video/grabber-still.cpp	Mon May 22 21:31:47 2006
@@ -112,7 +112,7 @@
     
     len_ = s.st_size;
     if (frame_)
-	delete frame_;
+	delete[] frame_; //SV-XXX: Debian
     
     frame_ = new char[len_ + 1];
     fread(frame_, len_, 1, fp);

Modified: vic/trunk/video/grabber-sunrise.cpp
==============================================================================
--- vic/trunk/video/grabber-sunrise.cpp	(original)
+++ vic/trunk/video/grabber-sunrise.cpp	Mon May 22 21:31:47 2006
@@ -918,7 +918,7 @@
 #endif /* DEBUG */
 
     if (ring_buffer._buffer != (struct UMSVideoIO_RingBufferElement *) NULL)
-	delete ring_buffer._buffer;
+	delete[] ring_buffer._buffer; //SV-XXX: Debian
 
     ring_buffer._buffer = new UMSVideoIO_RingBufferElement[n_buffers];
 

Modified: vic/trunk/video/grabber-x11.cpp
==============================================================================
--- vic/trunk/video/grabber-x11.cpp	(original)
+++ vic/trunk/video/grabber-x11.cpp	Mon May 22 21:31:47 2006
@@ -194,7 +194,8 @@
 X11Device::X11Device(const char* nickname):
 			InputDevice(nickname), name_(nickname)
 {
-	if (free)
+	//if (free)
+	if (name_) //SV-XXX: Debian
 		attributes_ = "\
 size {large normal small cif} \
 format {411}" ;

Modified: vic/trunk/video/grabber-xil.cpp
==============================================================================
--- vic/trunk/video/grabber-xil.cpp	(original)
+++ vic/trunk/video/grabber-xil.cpp	Mon May 22 21:31:47 2006
@@ -496,7 +496,7 @@
 			 */
 			char* buf = new char[768 * 576 * 3];
 			(void)pread(fd_, (void*)buf, sizeof(buf), (off_t)0x01000000);
-			delete buf;
+			delete[] buf; //SV-XXX: Debian
 		}
 		/* else do nothing */
 #endif
@@ -541,7 +541,7 @@
 XILYuvGrabber::~XILYuvGrabber()
 {
 	xil_destroy(image_);image_=0;
-	delete frame_;
+	delete[] frame_; //SV-XXX: Debian
 }
 
 void XILYuvGrabber::setsize()

Modified: vic/trunk/video/grabber.cpp
==============================================================================
--- vic/trunk/video/grabber.cpp	(original)
+++ vic/trunk/video/grabber.cpp	Mon May 22 21:31:47 2006
@@ -89,9 +89,9 @@
 
 Grabber::~Grabber()
 {
-	delete framebase_;
-	delete crvec_;
-	delete ref_;
+	delete[] framebase_; //SV-XXX: Debian
+	delete[] crvec_; //SV-XXX: Debian
+	delete[] ref_; //SV-XXX: Debian
 }
 
 int Grabber::command(int argc, const char*const* argv)
@@ -266,7 +266,7 @@
 	blkh_ = h >> 4;
 	scan_ = 0;
 	nblk_ = blkw_ * blkh_;
-	delete crvec_;
+	delete[] crvec_; //SV-XXX: Debian
 	crvec_ = new u_char[nblk_];
 	for (int i = 0; i < nblk_; ++i)
 		crvec_[i] = CR_MOTION|CR_SEND;
@@ -275,7 +275,7 @@
 /* must call after set_size_xxx */
 void Grabber::allocref()
 {
-	delete ref_;
+	delete[] ref_; //SV-XXX: Debian
 	ref_ = new u_char[framesize_];
 	memset((char*)ref_, 0, framesize_);
 }
@@ -399,7 +399,7 @@
 
 void Grabber::set_size_422(int w, int h)
 {
-	delete framebase_;
+	delete[] framebase_; //SV-XXX: Debian
 
 	inw_ = w;
 	inh_ = h;
@@ -423,7 +423,7 @@
 
 void Grabber::set_size_411(int w, int h)
 {
-	delete framebase_;
+	delete[] framebase_; //SV-XXX: Debian
 
 	inw_ = w;
 	inh_ = h;
@@ -449,7 +449,7 @@
 
 void Grabber::set_size_cif(int w, int h)
 {
-	delete framebase_;
+	delete[] framebase_; //SV-XXX: Debian
 	inw_ = w;
 	inh_ = h;
 

Modified: vic/trunk/win32/win32.c
==============================================================================
--- vic/trunk/win32/win32.c	(original)
+++ vic/trunk/win32/win32.c	Mon May 22 21:31:47 2006
@@ -507,4 +507,5 @@
 	}
 	RegCloseKey(lkey);
 	return TRUE;
-}
\ No newline at end of file
+}
+



More information about the Sumover-dev mailing list