changeset 1232:10cb3c400451

Cleanup.
author Matti Hamalainen <ccr@tnsp.org>
date Fri, 06 Mar 2015 13:02:54 +0200
parents a275b7382ffa
children d4b373d53a64
files tools/xm2jss.c
diffstat 1 files changed, 15 insertions(+), 8 deletions(-) [+]
line wrap: on
line diff
--- a/tools/xm2jss.c	Fri Mar 06 12:34:35 2015 +0200
+++ b/tools/xm2jss.c	Fri Mar 06 13:02:54 2015 +0200
@@ -499,29 +499,36 @@
         JSSERROR(DMERR_MALLOC, DMERR_MALLOC,
         "Error allocating memory for pattern compression buffer.\n");
 
-
-    // Write patterns
+    // Convert and write patterns
     for (totalSize = pattern = 0; pattern < m->npatterns; pattern++)
     {
+        JSSPattern *pat = m->patterns[pattern];
         JSSMODPattern patHead;
         size_t finalSize = 0;
         
+        if (pat == NULL)
+            JSSERROR(DMERR_NULLPTR, DMERR_NULLPTR,
+            "Pattern #%d was NULL.\n", pattern);
+        if (pat->nrows > jsetMaxRows)
+            JSSERROR(DMERR_INVALID_DATA, DMERR_INVALID_DATA,
+            "Pattern #%d has %d rows > %d max.\n",
+            pattern, pat->nrows, jsetMaxRows);
         switch (patMode)
         {
             case PATMODE_RAW_HORIZ:
-                i = jssConvertPatternRawHoriz(patBuf, patBufSize, &finalSize, m->patterns[pattern]);
+                i = jssConvertPatternRawHoriz(patBuf, patBufSize, &finalSize, pat);
                 break;
             case PATMODE_COMP_HORIZ:
-                i = jssConvertPatternCompHoriz(patBuf, patBufSize, &finalSize, m->patterns[pattern]);
+                i = jssConvertPatternCompHoriz(patBuf, patBufSize, &finalSize, pat);
                 break;
             case PATMODE_RAW_VERT:
-                i = jssConvertPatternRawVert(patBuf, patBufSize, &finalSize, m->patterns[pattern]);
+                i = jssConvertPatternRawVert(patBuf, patBufSize, &finalSize, pat);
                 break;
             case PATMODE_COMP_VERT:
-                i = jssConvertPatternCompVert(patBuf, patBufSize, &finalSize, m->patterns[pattern]);
+                i = jssConvertPatternCompVert(patBuf, patBufSize, &finalSize, pat);
                 break;
             case PATMODE_RAW_ELEM:
-                i = jssConvertPatternRawElem(patBuf, patBufSize, &finalSize, m->patterns[pattern]);
+                i = jssConvertPatternRawElem(patBuf, patBufSize, &finalSize, pat);
                 break;
             default:
                 dmFree(patBuf);
@@ -536,7 +543,7 @@
         }
 
         dmMsg(3, " - Pattern %d size %d bytes\n", pattern, finalSize);
-        patHead.nrows = m->patterns[pattern]->nrows;
+        patHead.nrows = pat->nrows;
         patHead.size = finalSize;
         totalSize += finalSize + sizeof(patHead);