From: Jan Schmidt Date: Thu, 13 Apr 2017 15:56:50 +0000 (+1000) Subject: motioncells: Fix cell string generation X-Git-Tag: 1.12.2~113 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=b392ab4bcdaa292ac93eab703fb54d519f653ab4;p=platform%2Fupstream%2Fgst-plugins-bad.git motioncells: Fix cell string generation Allow 1 extra char in the tmp buffer where the motion cell snippets are generated, so that it doesn't leave off a comma when dealing with cells that have 2 numerals in both indices --- diff --git a/ext/opencv/MotionCells.cpp b/ext/opencv/MotionCells.cpp index 94c4ae5..f85989e 100644 --- a/ext/opencv/MotionCells.cpp +++ b/ext/opencv/MotionCells.cpp @@ -199,11 +199,10 @@ MotionCells::performDetectionMotionCells (IplImage * p_frame, cvSetZero (transparencyimg); if (m_motioncellsidxcstr) delete[]m_motioncellsidxcstr; - m_motioncells_idx_count = m_MotionCells.size () * MSGLEN; //one motion cell idx: (lin idx : col idx,) it's 4 character except last motion cell idx + m_motioncells_idx_count = m_MotionCells.size () * MSGLEN; //one motion cell idx: (lin idx : col idx,) it's up to 6 character except last motion cell idx m_motioncellsidxcstr = new char[m_motioncells_idx_count]; - char *tmpstr = new char[MSGLEN]; - for (int i = 0; i < MSGLEN; i++) - tmpstr[i] = ' '; + char *tmpstr = new char[MSGLEN+ 1]; + tmpstr[0] = 0; for (unsigned int i = 0; i < m_MotionCells.size (); i++) { CvPoint pt1, pt2; pt1.x = m_MotionCells.at (i).cell_pt1.x * 2; @@ -227,10 +226,10 @@ MotionCells::performDetectionMotionCells (IplImage * p_frame, } if (i < m_MotionCells.size () - 1) { - snprintf (tmpstr, MSGLEN, "%d:%d,", m_MotionCells.at (i).lineidx, + snprintf (tmpstr, MSGLEN+1, "%d:%d,", m_MotionCells.at (i).lineidx, m_MotionCells.at (i).colidx); } else { - snprintf (tmpstr, MSGLEN, "%d:%d", m_MotionCells.at (i).lineidx, + snprintf (tmpstr, MSGLEN+1, "%d:%d", m_MotionCells.at (i).lineidx, m_MotionCells.at (i).colidx); } if (i == 0)