bugfixes
authorecalot <ecalot>
Sun, 27 Jun 2004 14:53:46 +0000 (14:53 +0000)
committerecalot <ecalot>
Sun, 27 Jun 2004 14:53:46 +0000 (14:53 +0000)
22 files changed:
PR/doc/changelog.txt
PR/src/Makefile
PR/src/addons/vb/pr.bas
PR/src/addons/vb/samples/pr.dll
PR/src/include/common.h
PR/src/include/en.lang.pr.h
PR/src/include/pr.h
PR/src/include/xml.h [deleted file]
PR/src/lib/actions/export.c
PR/src/lib/compression/rle_compress.c
PR/src/lib/compression/rle_decompress.c
PR/src/lib/compression/rlev_decompress.c
PR/src/lib/formats/bmp.c
PR/src/lib/layers/dat.c
PR/src/lib/layers/disk.c
PR/src/lib/layers/memory.c
PR/src/lib/object/image/image16.c
PR/src/lib/object/image/image2.c
PR/src/lib/object/image/image256.c
PR/src/lib/object/image/image_common.c
PR/src/lib/xml/parse.c
PR/src/ports/winfiles/pr.exe

index 348d10e4528e92814fa57062b1f18b59fb931af4..f9708a6a00dc2cdc0ac0397212efcb4fd37958c3 100644 (file)
@@ -134,7 +134,8 @@ Versions:
   x Checksum verification
   x Set, if applicable, POP2 in the parent folder of the
     unknown.xml file
+  - Fixed some memory leaks in xml parser
+       
 2) ToDo List & Future Plans:
 
 * PR v1.1:
index 82d77c50ddf24f83aa1cc542554452c53b0b0420..8a804d4a3bbc36d27bcf8f836163a57bf694f4f1 100644 (file)
@@ -18,7 +18,7 @@ endif
 #Compiler options
 INCLUDE = -Iinclude/
 DEFINES = -DOS=\"$(OS)\" $(LINUX) 
-OPTIONS = $(INCLUDE) $(DEFINES)
+OPTIONS = $(INCLUDE) $(DEFINES) -g -pedantic
 
 OBJFILES = compile.o compress.o extract.o resources.o tasks.o disk.o\
            xmlparse.o xmlsearch.o dat.o bmp.o mid.o pal.o wav.o plv.o\
@@ -34,7 +34,7 @@ EXEFILE  = bin/pr
 bin/pr: $(OBJFILES) $(SRC1) bin/resources.xml
        $(INFO) Linking files...
        $(MAKEDIR) bin
-       $(CC) -o bin/pr $(OBJFILES) $(SRC1) -s -O2
+       $(CC) $(OPTIONS) -o bin/pr $(OBJFILES) $(SRC1) -O2
        $(INFO) Program successfully compiled
        $(INFO)
        $(INFO) Please read readme.txt for syntax information
@@ -53,7 +53,7 @@ all: $(EXEFILE)
 lib: clean $(OBJFILES) $(SRC3)
        $(MAKEDIR) bin
        $(INFO) Making dynamic library...
-       $(CC) -o bin/pr.so $(OBJFILES) $(SRC3) -O2 -Llibc -shared -dynamic
+       $(CC) $(OPTIONS) -o bin/pr.so $(OBJFILES) $(SRC3) -Llibc -shared -dynamic
        $(INFO) Library successfully compiled
        $(INFO)
        $(INFO) Please read readme.coders.txt and pr.h for interfaces
index 9e8e2cbb4121537525b219ea9b05bc0db60b003d..d078ec72b3f99253b6658bea4f605bfa7e904e35 100644 (file)
-Attribute VB_Name = "Module1"
-'pr.dll V2.0 declaration for Visual Basic
-'PR is a Princed Development Team work
-'check for the latest version at http://www.princed.com.ar
-
-'Enumerations
-
-'Resource type
-enum prResourceType
- prResMemoryError=-2
- prResFileNotFoundError=-1
- prResInvalidDatFile=00
- prResLevelFile=01
- prResGraphicExtFile=02
- prResWaveFile=03
- prResMidiFile=04
- prResValidUnknownFile=05
- prResGraphicFile=06
-
-end
-
-'Export
-enum prExportResult
- prExpMemoryError=-2
- prExpAccessDenied=-1
- prExpOk=0
-end
-
-enum prExportOpt 'To use more than one option separate them with "+".
- prExpExtract=1  'If this option is not given, the files won't be extracted
- prExpUpdate=2   'This will update the resource file
- prExpUseRaw=4   'This will extract to raw files
- prExpDontSave=8 'Running the function using this option will perform all
-                 ' commands but without saving the changes in resource file
-                 ' (update option will be ignored)
-end
-
-'Import
-enum prImportResult
- prImpAccessDenied=-1
- prImpOk=0
- 'Note: If the file was parcially compiled a positive number of files missing will be returned
-end
-
-enum prImportOpt
- prImpUseRaw=0
- prImpReadDataType=1
-end
-
-'This function will extract vDatFile into vDirName adding the extracted files in vResFilename
-Public Declare Function prExportDat Lib "pr.dll" Alias "_prExportDat" (ByVal vDatFile As String, ByVal vDirName As String, ByVal vResFilename As String) As Integer
-'This function will import the files located in vDirName into vDatFile acording to the information read in vResFilename
-Public Declare Function prImportDat Lib "pr.dll" Alias "_prImportDat" (ByVal vDatFile As String, ByVal vDirName As String, ByVal vResFilename As String) As Integer
-'This function will clear vResFilename information table but It will keep the file header and foot
-Public Declare Function prClearRes Lib "pr.dll" Alias "_prClearRes" (ByVal vResFilename As String) As Integer
-'This function will verify if the vDatFile exists, id it is a valid POP1 DAT file, and what kind of DAT file it is
-Public Declare Function prVerifyDatType Lib "pr.dll" Alias "_prVerifyDatType" (ByVal vDatFile As String) As integer
-
-'  verifyDatType return values may be:
-'    -2 PR internal Memory error (only if RAM is too low)
-'    -1 File not found
-'
-'    00 Not a valid POP1 DAT file
-'
-'    01 Levels file
-'    02 Graphic file with an image in the first valid entry (not common)
-'    03 Waves/Digital sound file
-'    04 Midis file
-'    05 Valid DAT file with Undefined content (example ibmsnd for the moment)
-'    06 Graphic file with a palette in the first valid entry (common)
-
-' extended functions
-
-Public Declare Function prVerifyDatTypeRes Lib "pr.dll" Alias "_prVerifyDatType" (ByVal vDatFile As String) As prResourceType
-Public Declare Function prClearResBool Lib "pr.dll" Alias "_prClearRes" (ByVal vResFilename As String) As Boolean
-Public Declare Function prExportDatOpt Lib "pr.dll" Alias "_prExportDatOpt" (ByVal vDatFile As String, ByVal vDirName As String, ByVal vResFilename As String, ByVal vExportOpt as prExportOpt) As prExportResult
-Public Declare Function prImportDatOpt Lib "pr.dll" Alias "_prImportDatOpt" (ByVal vDatFile As String, ByVal vDirName As String, ByVal vResFilename As String, ByVal vImportOpt as prImportOpt) As prImportResult
+Attribute VB_Name = "pr"\r
+'   Princed V3 - Prince of Persia Level Editor for PC Version\r
+'   Copyright (C) 2003 Princed Development Team\r
+'\r
+'   This program is free software; you can redistribute it and/or modify\r
+'   it under the terms of the GNU General Public License as published by\r
+'   the Free Software Foundation; either version 2 of the License, or\r
+'   (at your option) any later version.\r
+'\r
+'   This program is distributed in the hope that it will be useful,\r
+'   but WITHOUT ANY WARRANTY; without even the implied warranty of\r
+'   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r
+'   GNU General Public License for more details.\r
+'\r
+'   You should have received a copy of the GNU General Public License\r
+'   along with this program; if not, write to the Free Software\r
+'   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA\r
+'\r
+'   The authors of this program may be contacted at http://forum.princed.com.ar\r
+\r
+\r
+'\r
+'pr.bas: Princed Resources : pr.dll declaration for Visual Basic\r
+'¯¯¯¯¯¯\r
+' Copyright 2003, 2004 Princed Development Team\r
+'  Created: 24 Apr 2003\r
+'\r
+'  Author: Enrique Calot <ecalot.cod@princed.com.ar>\r
+'  Version: 1.00 (2003-Apr-24) for PR v0.6\r
+'  Version: 2.00 (2004-Mar-03) for PR v1.0\r
+'  Version: 2.01 (2004-Mar-23) for PR v1.0\r
+'\r
+' Note:\r
+'  DO NOT remove this copyright notice\r
+'\r
+' Check for the latest version at http://www.princed.com.ar\r
+\r
+\r
+'Enumerations\r
+\r
+'Resource type\r
+Enum prResourceType\r
+ prResMemoryError = -2\r
+ prResFileNotFoundError = -1\r
+ prResInvalidDatFile = 0\r
+ prResLevelFile = 1\r
+ prResGraphicExtFile = 2\r
+ prResWaveFile = 3\r
+ prResMidiFile = 4\r
+ prResValidUnknownFile = 5\r
+ prResGraphicFile = 6\r
+ prResPCSpeaker = 7\r
+ prResPop2Dat = 11\r
+End Enum\r
+\r
+Enum prFlags\r
+ prFlagImport = 1\r
+ prFlagClassify = 2\r
+ prFlagExport = 4\r
+ prFlagBackup = 8\r
+ prFlagForce = 16\r
+ prFlagCgi = 32\r
+ prFlagHelp = 64\r
+ prFlagRaw = 128\r
+ prFlagRecursive = 256\r
+ prFlagVerbose = 512\r
+ prFlagVersion = 1024\r
+ prFlagUnknown = 2048\r
+End Enum\r
+\r
+\r
+'Export\r
+Enum prExportResult\r
+ prExpXmlFileNotFound = -7\r
+ prExpXmlAttributeNotRecognized = -6\r
+ prExpMemoryErrorInParsinng = -5\r
+ prExpXmlParseError = -4\r
+ prExpInvalidDatFile = -3\r
+ prExpMemoryError = -2\r
+ prExpAccessDenied = -1\r
+ prExpOk = 0\r
+End Enum\r
+\r
+'Import\r
+Enum prImportResult\r
+ prImpXmlFileNotFound = -6\r
+ prImpXmlAttributeNotRecognized = -5\r
+ prImpNoMemory = -4\r
+ prImpXmlParseError = -3\r
+ prImpInvalidInPartial = -2\r
+ prImpAccessDenied = -1\r
+ prImpOk = 0\r
+ 'Note: If the file was parcially compiled a positive number of files missing will be returned\r
+End Enum\r
+\r
+'This function will extract vDatFile into vDirName adding the extracted files in vResFilename\r
+Public Declare Function prExportDat Lib "pr.dll" Alias "_prExportDat" ( _\r
+ ByVal vDatFile As String, _\r
+ ByVal vDirName As String, _\r
+ ByVal vResFilename As String) As Integer\r
+\r
+'This function will import the files located in vDirName into vDatFile acording to the information read in vResFilename\r
+Public Declare Function prImportDat Lib "pr.dll" Alias "_prImportDat" (ByVal vDatFile As String, ByVal vDirName As String, ByVal vResFilename As String) As Integer\r
+'This function will verify if the vDatFile exists, id it is a valid POP1 DAT file, and what kind of DAT file it is\r
+Public Declare Function prVerifyDatType Lib "pr.dll" Alias "_prVerifyDatType" (ByVal vDatFile As String) As Integer\r
+\r
+'  verifyDatType return values may be:\r
+'    -2 PR internal Memory error (only if RAM is too low)\r
+'    -1 File not found\r
+'\r
+'    00 Not a valid POP1 DAT file\r
+'\r
+'    01 Levels file\r
+'    02 Graphic file with an image in the first valid entry (not common)\r
+'    03 Waves/Digital sound file\r
+'    04 Midis file\r
+'    05 Valid DAT file with Undefined content (example ibmsnd for the moment)\r
+'    06 Graphic file with a palette in the first valid entry (common)\r
+'    07 Internal PC Speaker dat file\r
+'    11 Pop2 dat file\r
+\r
+' extended functions\r
+\r
+Public Declare Function prVerifyDatTypeRes Lib "pr.dll" Alias "_prVerifyDatType" (ByVal vDatFile As String) As prResourceType\r
+\r
+Public Declare Function prExportDatOpt Lib "pr.dll" Alias "_prExportDatOpt" ( _\r
+ ByVal vDatFile As String, _\r
+ ByVal vDirName As String, _\r
+ ByVal vResFilename As String, _\r
+ ByVal vExportOpt As prFlags, _\r
+ ByVal vDatFileName As String, _\r
+ ByVal datAuthor As String, _\r
+ ByVal backupExtension As String) As prExportResult\r
+\r
+'Arguments:\r
+'            char* vDatFile        - full Path to the dat file;\r
+'                                    if file use it, if directory, perform it for\r
+'                                    All Files\r
+'            char* vDirName        - full Path to the extracting folder\r
+'                                    (doesn't need to exist)\r
+'            char* vResFile        - full Path to the resources XML file\r
+'                                    NULL is the default file resources.xml\r
+'            char opt              - program options, see below\r
+'            char * vDatFileName   - name of the file to be extracted\r
+'                                    NULL means predict it from vDatFile\r
+'            const char* datAuthor - Author's name when extracting PLV's,\r
+'                                    NULL is default\r
+'            const char* backupExtension\r
+'                                  - If backup_flag is set, the string to attach\r
+'                                    to the backup files\r
+'Options:\r
+'            unknown_flag   - generate the unknown file without performing\r
+'                       any extraction\r
+'            raw_flag       - uses raw format\r
+'            verbose_flag   - explain what is being done\r
+'            recursive_flag - searches for all dat files (only if vDatFile\r
+'                             is not a dat file and vDatFileName is NULL)\r
+'            force_flag     - default option, you cannot disable it,\r
+'                             so please make a backup of your files\r
+'            backup_flag    - backup your files\r
+'        Return values:\r
+'             0 Ok\r
+'            -1 Error accessing the file DAT\r
+'            -2 Memory error in extraction\r
+'            -3 Invalid DAT file\r
+'            -4 XML Parse error\r
+'            -5 Memory error in parsing\r
+'            -6 XML Attribute not recognized\r
+'            -7 XML File not found\r
+\r
+Public Declare Function prImportDatOpt Lib "pr.dll" Alias "_prImportDatOpt" ( _\r
+ ByVal vDatFile As String, _\r
+ ByVal vDirName As String, _\r
+ ByVal vResFilename As String, _\r
+ ByVal vImportOpt As prFlags, _\r
+ ByVal vDatFileName As String, _\r
+ ByVal backupExtension As String) As prImportResult\r
+\r
+'   Arguments:\r
+'    char* vDatFile        - full Path to the dat file;\r
+'                            if file use it, if directory, perform it for\r
+'                            all files\r
+'    char* vDirName        - full Path to the extracting folder\r
+'                            (doesn't need to exist)\r
+'    char* vResFile        - full Path to the resources XML file\r
+'                            (resources.xml by default)\r
+'    char opt              - program options, see below\r
+'    char * vDatFileName   - name of the file to be extracted\r
+'                            NULL means predict it from vDatFile\r
+'    const char* backupExtension\r
+'                          - If backup_flag is set, the string to attach\r
+'                            to the backup files\r
+'\r
+'   Options:\r
+'    raw_flag       - uses raw format\r
+'    verbose_flag   - explain what is being done\r
+'    recursive_flag - searches for all dat files (only if vDatFile\r
+'                     is not a dat file and vDatFileName is NULL)\r
+'    force_flag     - If not set and the file exists it will prompt\r
+'                     for action\r
+'    backup_flag    - backup your files\r
+'\r
+'   Return values:\r
+'    -1 DAT File couldn't be open for writing\r
+'    -2 XML Parse error\r
+'    -3 No memory\r
+'    -4 XML Attribute not recognized\r
+'    -5 XML File not found\r
+'    00 File successfully imported\r
+'    positive number: number of missing files\r
+\r
+'type tResource as record\r
+'type tResources as tResource(2000)\r
+\r
+'Public Declare Function parseFile Lib "pr.dll" Alias "_parseFile" (ByVal vFile as string, byval datFile as string, byref resources as tResources) as integer\r
+Public Declare Function parseStructure Lib "pr.dll" Alias "_parseStructure" (ByVal vFile As String) As Integer\r
+\r
+Public Declare Function resourceTreeGetChild Lib "pr.dll" Alias "_resourceTreeGetChild" (ByVal whereAmI As Integer) As Integer\r
+Public Declare Function resourceTreeGetNext Lib "pr.dll" Alias "_resourceTreeGetNext" (ByVal whereAmI As Integer) As Integer\r
+Public Declare Function resourceTreeGetRoot Lib "pr.dll" Alias "_resourceTreeGetRoot" () As Integer\r
+Public Declare Function resourceTreeGetInfo Lib "pr.dll" Alias "_resourceTreeGetInfo" (ByVal whereAmI As Integer, ByRef tag As Integer, ByRef desc As String, ByRef path As String, ByRef file As String, ByRef itemtype As String, ByRef name As String, ByRef palette As String, ByRef restype As String, ByRef value As String, ByRef version As String, ByRef number As String) As Integer\r
+\r
+Public Declare Sub prSetOutput Lib "pr.dll" Alias "_prSetOutput" (ByVal stream As Any)\r
+Public Declare Sub freeParsedStructure Lib "pr.dll" Alias "_freeParsedStructure" ()\r
+\r
index eb545aded54fc3cd23c6a69f99d02381477380da..4e3ec1516d94616bffcd43e21f9541280908f9aa 100644 (file)
Binary files a/PR/src/addons/vb/samples/pr.dll and b/PR/src/addons/vb/samples/pr.dll differ
index 942aa3cd5d28e17f32f0dcf6e6ea320e576d9952..387da8f24e0005ba24af91c0d5e6e1300cc934dc 100644 (file)
@@ -67,7 +67,7 @@ void prSetOutput(FILE* output);
 #endif
 
 /* Debug options */
-#define DEB_FLAG
+/* #define DEB_FLAG */
 /* #define MEM_CHECK */
 
 #ifdef MEM_CHECK
index a616a0e07b65e8a439f549a15a2f512744b17e70..e0c69068d6d4c95373197538f340e9309127641a 100644 (file)
@@ -155,6 +155,6 @@ pr.h: Princed Resources : English language strings
 #define PR_TXT_GFX_DEV           "Graphic format development"
 #define PR_TXT_MID               "MID Sound format development"
 #define PR_TXT_XML               "Resources.xml edition"
-#define PR_TXT_TRANSLATION       "Translation"
-#define PR_TXT_ABOUT_TRANSLATOR  "<transwi text='Please add your name here for the credits, use different lines to add more names.'>\n"
+#define PR_TXT_TRANSLATION       ""
+#define PR_TXT_ABOUT_TRANSLATOR  ""
 
index 942aa3cd5d28e17f32f0dcf6e6ea320e576d9952..387da8f24e0005ba24af91c0d5e6e1300cc934dc 100644 (file)
@@ -67,7 +67,7 @@ void prSetOutput(FILE* output);
 #endif
 
 /* Debug options */
-#define DEB_FLAG
+/* #define DEB_FLAG */
 /* #define MEM_CHECK */
 
 #ifdef MEM_CHECK
diff --git a/PR/src/include/xml.h b/PR/src/include/xml.h
deleted file mode 100644 (file)
index 37d7434..0000000
+++ /dev/null
@@ -1,31 +0,0 @@
-
-#ifndef _XML_H_
-#define _XML_H_
-
-int equalsIgnoreCase(const char s1[],const char s2[]);
-
-typedef struct tTag {
- struct tTag* child;
- struct tTag* next;
- char* tag;
- char* desc;
- char* external;
- char* file;
- char* itemtype;
- char* name;
- char* palette;
- char* type;
- char* value;
- char* version;
- char* number;
-}tTag;
-
-//Constants
-#define MAX_VALUE_SIZE 1000
-#define MAX_SIZE_OF_FILE 30000
-
-//tTag* getTagStructure(); //initializes
-void freeTagStructure(tTag* structure);
-//int parseNext(char** pString, tTag* tag);
-tTag* parseXmlFile(const char* vFile,int* error);
-#endif
index 6e9b1e51f99bb17916af95fc330b50d754100d1a..c288ad6a77a67b3d03751c370c873c385568452c 100644 (file)
@@ -93,7 +93,7 @@ fld("b");
        for (indexNumber=0;ok&&(indexNumber<numberOfItems);indexNumber++) {
                id=mReadFileInDatFile(indexNumber,&data,&size);
 fld("c");
-printf("*K) id=%d size=%d %d:%d:%d:%d:%d:%d\n",id,size,data[0],data[1],data[2],data[3],data[4],data[5]);
+/* printf("*K) id=%d size=%d %d:%d:%d:%d:%d:%d\n",id,size,data[0],data[1],data[2],data[3],data[4],data[5]); */
 
                if (id<0) return -3; /* Read error */
                if (id==0xFFFF) continue; /* Tammo Jan Bug fix */
@@ -103,7 +103,7 @@ fld("d");
                /* set resource information on this index entry */
                if (mReadInitResource(r+id,data,size)) return -2;
 fld("e");
-printf("z->%d\n",r[id]->type);
+/* printf("z->%d\n",r[id]->type); */
                if ((r[id]->type==RES_TYPE_PALETTE)||isInThePartialList(r[id]->path,id)) { /* If the resource was specified or is a palette, do the tasks */
                        if (!(hasFlag(unknown_flag))) { /* If unknown flag is set do nothing but generate the unknown.xml file */
                                if (hasFlag(raw_flag)) r[id]->type=0; /* If "extract as raw" is set, type is 0 */
@@ -133,9 +133,9 @@ fld("f");
                                                break;
                                        case RES_TYPE_PCSPEAKER: /* save pcs file */
                                        case RES_TYPE_MIDI:     /* save midi file */
-printf("a->%d\n",ok);
+/* printf("a->%d\n",ok); */
                                                ok=ok&&mFormatExportMid(data,vFileext,size,optionflag,backupExtension);
-printf("b->%d\n",ok);
+/* printf("b->%d\n",ok); */
                                                break;
                                        case RES_TYPE_WAVE: /* save wav file */
                                                ok=ok&&mFormatExportWav(data,vFileext,size,optionflag,backupExtension);
index 44eebf0a6b5ce3c6aa8160ddc0d0ad1a5e7738f2..c5bc9cfb261e0296bec5a9fe5e2ada6b9ac4a1af 100644 (file)
@@ -213,21 +213,21 @@ int mExpandGraphic(const unsigned char* data,tImage *image, int dataSizeInBytes)
 
        int imageSizeInBytes;
        int result;
-printf("+K) %d:%d:%d:%d:%d:%d\n",data[0],data[1],data[2],data[3],data[4],data[5]);
+/* printf("+K) %d:%d:%d:%d:%d:%d\n",data[0],data[1],data[2],data[3],data[4],data[5]); */
 
        data++;
-       image->height=array2short(data);//((unsigned char)data[0])+((unsigned char)data[1]<<8);data+=2;
+       image->height=array2short(data);
        data+=2;
-       image->width =array2short(data);//((unsigned char)data[0])+((unsigned char)data[1]<<8);data+=2;
+       image->width =array2short(data);
        data+=2;
-printf("K) %d;%d\n",image->width,image->height);
+/* printf("K) %d;%d\n",image->width,image->height); */
 
 fld("XX");
        if (*(data++)) return COMPRESS_RESULT_FATAL; /* Verify format */
 fld("YY");
        image->type=(unsigned char)(*(data++));
        dataSizeInBytes-=7;
-printf("K) %d+%d*%d,%d\n",image->pix,image->height,image->widthInBytes,image->widthInBytes);
+/* printf("K) %d+%d*%d,%d\n",image->pix,image->height,image->widthInBytes,image->widthInBytes); */
        if (image->type&0xB0) {
                image->widthInBytes=(image->width+1)/2;
        } else {
@@ -261,7 +261,7 @@ printf("K) %d+%d*%d,%d\n",image->pix,image->height,image->widthInBytes,image->wi
                        result=COMPRESS_RESULT_FATAL;
                        break;
        }
-printf("-K) %d+%d*%d,%d\n",image->pix,image->height,image->widthInBytes,image->widthInBytes);
+/* printf("-K) %d+%d*%d,%d\n",image->pix,image->height,image->widthInBytes,image->widthInBytes); */
        return result; /* Ok */
 }
 
index 44eebf0a6b5ce3c6aa8160ddc0d0ad1a5e7738f2..c5bc9cfb261e0296bec5a9fe5e2ada6b9ac4a1af 100644 (file)
@@ -213,21 +213,21 @@ int mExpandGraphic(const unsigned char* data,tImage *image, int dataSizeInBytes)
 
        int imageSizeInBytes;
        int result;
-printf("+K) %d:%d:%d:%d:%d:%d\n",data[0],data[1],data[2],data[3],data[4],data[5]);
+/* printf("+K) %d:%d:%d:%d:%d:%d\n",data[0],data[1],data[2],data[3],data[4],data[5]); */
 
        data++;
-       image->height=array2short(data);//((unsigned char)data[0])+((unsigned char)data[1]<<8);data+=2;
+       image->height=array2short(data);
        data+=2;
-       image->width =array2short(data);//((unsigned char)data[0])+((unsigned char)data[1]<<8);data+=2;
+       image->width =array2short(data);
        data+=2;
-printf("K) %d;%d\n",image->width,image->height);
+/* printf("K) %d;%d\n",image->width,image->height); */
 
 fld("XX");
        if (*(data++)) return COMPRESS_RESULT_FATAL; /* Verify format */
 fld("YY");
        image->type=(unsigned char)(*(data++));
        dataSizeInBytes-=7;
-printf("K) %d+%d*%d,%d\n",image->pix,image->height,image->widthInBytes,image->widthInBytes);
+/* printf("K) %d+%d*%d,%d\n",image->pix,image->height,image->widthInBytes,image->widthInBytes); */
        if (image->type&0xB0) {
                image->widthInBytes=(image->width+1)/2;
        } else {
@@ -261,7 +261,7 @@ printf("K) %d+%d*%d,%d\n",image->pix,image->height,image->widthInBytes,image->wi
                        result=COMPRESS_RESULT_FATAL;
                        break;
        }
-printf("-K) %d+%d*%d,%d\n",image->pix,image->height,image->widthInBytes,image->widthInBytes);
+/* printf("-K) %d+%d*%d,%d\n",image->pix,image->height,image->widthInBytes,image->widthInBytes); */
        return result; /* Ok */
 }
 
index 44eebf0a6b5ce3c6aa8160ddc0d0ad1a5e7738f2..c5bc9cfb261e0296bec5a9fe5e2ada6b9ac4a1af 100644 (file)
@@ -213,21 +213,21 @@ int mExpandGraphic(const unsigned char* data,tImage *image, int dataSizeInBytes)
 
        int imageSizeInBytes;
        int result;
-printf("+K) %d:%d:%d:%d:%d:%d\n",data[0],data[1],data[2],data[3],data[4],data[5]);
+/* printf("+K) %d:%d:%d:%d:%d:%d\n",data[0],data[1],data[2],data[3],data[4],data[5]); */
 
        data++;
-       image->height=array2short(data);//((unsigned char)data[0])+((unsigned char)data[1]<<8);data+=2;
+       image->height=array2short(data);
        data+=2;
-       image->width =array2short(data);//((unsigned char)data[0])+((unsigned char)data[1]<<8);data+=2;
+       image->width =array2short(data);
        data+=2;
-printf("K) %d;%d\n",image->width,image->height);
+/* printf("K) %d;%d\n",image->width,image->height); */
 
 fld("XX");
        if (*(data++)) return COMPRESS_RESULT_FATAL; /* Verify format */
 fld("YY");
        image->type=(unsigned char)(*(data++));
        dataSizeInBytes-=7;
-printf("K) %d+%d*%d,%d\n",image->pix,image->height,image->widthInBytes,image->widthInBytes);
+/* printf("K) %d+%d*%d,%d\n",image->pix,image->height,image->widthInBytes,image->widthInBytes); */
        if (image->type&0xB0) {
                image->widthInBytes=(image->width+1)/2;
        } else {
@@ -261,7 +261,7 @@ printf("K) %d+%d*%d,%d\n",image->pix,image->height,image->widthInBytes,image->wi
                        result=COMPRESS_RESULT_FATAL;
                        break;
        }
-printf("-K) %d+%d*%d,%d\n",image->pix,image->height,image->widthInBytes,image->widthInBytes);
+/* printf("-K) %d+%d*%d,%d\n",image->pix,image->height,image->widthInBytes,image->widthInBytes); */
        return result; /* Ok */
 }
 
index c328adff81f0225a6ac6f2610eadb7ac3dd10550..e6e31556471c73fa4a605aba94d9b8b3bec2fe4c 100644 (file)
@@ -56,7 +56,7 @@ fld("ZA1");
 
        /* Expand graphic and check results */
        result=mExpandGraphic(data,&image,size);
-printf("0) %d+%d*%d,%d\n",image.pix,image.height,image.widthInBytes,image.widthInBytes);
+/* printf("0) %d+%d*%d,%d\n",image.pix,image.height,image.widthInBytes,image.widthInBytes); */
        if ((result==COMPRESS_RESULT_WARNING)&&hasFlag(verbose_flag))
                fprintf(outputStream,PR_TEXT_EXPORT_BMP_WARN);
        if (result==COMPRESS_RESULT_FATAL) return 0;
@@ -111,7 +111,7 @@ fld("alpha");
        /* open file */
        if (!writeOpen(vFile,&bitmap,optionflag)) return 0;
 fld("beta");
-printf("a) %d+%d*%d,%d\n",img.pix,img.height,img.widthInBytes,img.widthInBytes);
+/* printf("a) %d+%d*%d,%d\n",img.pix,img.height,img.widthInBytes,img.widthInBytes); */
 
        /* initialize variables */
        width=img.width;
@@ -123,7 +123,7 @@ printf("a) %d+%d*%d,%d\n",img.pix,img.height,img.widthInBytes,img.widthInBytes);
        r=(g=(b=(unsigned char*)&extra)+1)+1;
        lineSerialization=(-img.widthInBytes)&3;
        filesize=offset+(img.widthInBytes+lineSerialization)*height;
-printf("b) %d+%d*%d,%d\n",img.pix,img.height,img.widthInBytes,img.widthInBytes);
+/* printf("b) %d+%d*%d,%d\n",img.pix,img.height,img.widthInBytes,img.widthInBytes); */
 fld("gamma");
 
        /* Write header */
@@ -162,7 +162,7 @@ fld("epsilon");
        /* Write data */
        while (img.height--) {
 fld("e1");
-printf("c) %d+%d*%d,%d\n",img.pix,img.height,img.widthInBytes,img.widthInBytes);
+/* printf("c) %d+%d*%d,%d\n",img.pix,img.height,img.widthInBytes,img.widthInBytes); */
                fwrite(img.pix+img.height*img.widthInBytes,img.widthInBytes,1,bitmap);
 fld("e2");
                fwrite(&zero,lineSerialization,1,bitmap);
index f73034cd7996d94092731fb53bac4c171a10761b..612b3e732e4f024d774007d3d1a8b7347ed390d9 100644 (file)
@@ -35,9 +35,7 @@ dat.c: Princed Resources : DAT library
 #include <string.h>
 #include "pr.h"
 
-//#include "resources.h"
 #include "disk.h"
-//#include "memory.h"
 #include "dat.h"
 
 /***************************************************************\
@@ -108,11 +106,11 @@ int mReadFileInDatFile(int k,unsigned char* *data,unsigned long  int *size) {
        unsigned short int id;
 
        /* for each archived file the index is read */
-       id=    array2short(indexPointer+ofk+k*recordSize);//(indexPointer[ofk+k*recordSize])+(indexPointer[ofk+k*recordSize+1]<<8);
-       printf("a ver: %d %d\n",id,(indexPointer[ofk+k*recordSize])+(indexPointer[ofk+k*recordSize+1]<<8));
+       id=    array2short(indexPointer+ofk+k*recordSize);/*(indexPointer[ofk+k*recordSize])+(indexPointer[ofk+k*recordSize+1]<<8);*/
+/* printf("a ver: %d %d\n",id,(indexPointer[ofk+k*recordSize])+(indexPointer[ofk+k*recordSize+1]<<8)); */
        
-       offset=array2long(indexPointer+ofk+k*recordSize+2);//indexPointer[ofk+k*recordSize+2])+(indexPointer[ofk+k*recordSize+3]<<8)+(indexPointer[ofk+k*recordSize+4]<<16)+(indexPointer[ofk+k*recordSize+5]<<24);
-       *size= array2short(indexPointer+ofk+k*recordSize+6);//indexPointer[ofk+k*recordSize+6])+(indexPointer[ofk+k*recordSize+7]<<8)+1;
+       offset=array2long(indexPointer+ofk+k*recordSize+2);/*indexPointer[ofk+k*recordSize+2])+(indexPointer[ofk+k*recordSize+3]<<8)+(indexPointer[ofk+k*recordSize+4]<<16)+(indexPointer[ofk+k*recordSize+5]<<24);*/
+       *size= array2short(indexPointer+ofk+k*recordSize+6);/*indexPointer[ofk+k*recordSize+6])+(indexPointer[ofk+k*recordSize+7]<<8)+1;*/
        if ((!pop1)&&(!(indexPointer[ofk+k*recordSize+8]==0x40)&&(!indexPointer[ofk+k*recordSize+9])&&(!indexPointer[ofk+k*recordSize+10]))) return -1;
        if (offset+indexSize>readDatFileSize) return -1;
        *data=readDatFile+offset;
index 218cb4de10330ac17d3bedec888c6d1cde0f3e26..5a216f2c5cd63844ba720374b97b9eb41e36c465 100644 (file)
@@ -240,7 +240,7 @@ int writeOpen(const char* vFileext, FILE* *fp, int optionflag) {
        whatIs fileType;
        static int all=0;
        int result;
-fld("g1");
+
 #ifdef UNIX
 #ifndef IGNORE_TERM_CHANGE
        /* This will eliminate the enter after the input */
@@ -321,15 +321,15 @@ int writeData(const unsigned char* data, int ignoreChars, char* vFileext, int si
        /* Verify parameters */
        size-=ignoreChars;
        if (size<0) return 0;
-       //if (size==0) return 1; /* Wrote 0 bytes */
+       /*if (size==0) return 1; * Wrote 0 bytes */
 
        /* Save file */
        ok=writeOpen(vFileext,&target,optionflag);
-printf("x->%d\n",ok);
+/* printf("x->%d\n",ok); */
        ok=ok&&((!size)||fwrite(data+ignoreChars,size,1,target));
-printf("x->%d\n",ok);
+/* printf("x->%d\n",ok); */
        ok=ok&&(!writeCloseOk(target,optionflag,backupExtension));
-printf("x->%d\n",ok);
+/* printf("x->%d\n",ok); */
        return ok;
 }
 
@@ -345,7 +345,6 @@ int mLoadFileArray(const char* vFile,unsigned char** array) {
        int  aux;
 
        /* Open the file */
-       fp=fopen(repairFolders(vFile),"rb");
        if ((fp=fopen(repairFolders(vFile),"rb"))==NULL) {
                return 0;
        } else {
index a613cca7025809ff8db2b72cab9d8475d50156b9..821e510a4918529758f4d93539b476605aaab657 100644 (file)
@@ -33,7 +33,7 @@ memory.c: Princed Resources : Memory handling
 
 #include "memory.h"
 #include <string.h>
-\r\r
+
 #ifndef MEM_CHECK
 char* strallocandcopy(const char* text) {
        int size;
@@ -44,118 +44,118 @@ char* strallocandcopy(const char* text) {
        if (aux) memcpy(aux,text,size);
        return aux;
 }
-\r
-\r
-#else\r
-#include <stdlib.h>\r
-#include <stdio.h>\r
-\r
-typedef struct memm {\r
-       struct memm* next;\r
-       void* pointer;\r
-       char  file[30];\r
-       int   line;\r
-       int   size;\r
-}memm;\r
-\r
-\r
-static memm* list=NULL;\r
-static int memcounter=0;\r
-static long int memsize=0;\r
-static long int memsizef=0;\r
-\r
-void* mymalloc(int size,char* fileName,int line) {\r
-       memm* nodo;\r
-       void* p;\r
-       p=malloc(size);\r
-       nodo=malloc(sizeof(memm));\r
-       nodo->next=list;\r
-       list=nodo;\r
-       strcpy(nodo->file,fileName);\r
-       nodo->line=line;\r
-       nodo->size=size;\r
-       nodo->pointer=p;\r
-       //if (!(memcounter%100))\r
-       //fprintf(stderr,"Memory allocation: %d bytes at %p in %d@%s (%d/%d)\n",size,p,line,fileName,memsize,memcounter);\r
-       memcounter++;\r
-       memsize+=size;\r
-       memsizef+=size;\r
-       return p;\r
-}\r
-\r
-void myfree(void* a,char* fileName,int line) {\r
-       memm* currentNode;\r
-       memm* priorNode=NULL;\r
-       memcounter--;\r
-       //if ((!(memcounter%100))||((memcounter<100)&&(memcounter>-100)))\r
-       //fprintf(stderr,"Liberando memoria? -> %p (%d/%d)\n",a,memsize,memcounter);\r
-\r
-\r
-       free(a);\r
-\r
-       if (list==NULL) {\r
-               fprintf(stderr,"Error!!!! se pidio liberar %p pero no estaba alocado (lista vacia)\n",a);\r
-               return; /* Empty list */\r
-       }\r
-       currentNode=list;\r
-       while ((currentNode->pointer!=a)&&(currentNode->next!=NULL)) {\r
-               priorNode=currentNode;\r
-               currentNode=currentNode->next;\r
-       }\r
-       if (currentNode->pointer!=a) {\r
-               fprintf(stderr,"Error!!!! se pidio liberar %p pero no estaba alocado %d@%s\n",a,line,fileName);\r
-               return; /* Not found */\r
-       }\r
-\r
-       memsizef-=currentNode->size;\r
-\r
-       //fprintf(stderr,"Liberada: %d bytes at %p alloc: %d@%s | free  %d@%s  (%d/%d)\n",currentNode->size,currentNode->pointer,currentNode->line,currentNode->file,line,fileName,memsize,memcounter);\r
-\r
-       /* free node and set prior pointer to the next */\r
-       if (priorNode==NULL) {\r
-               list=currentNode->next;\r
-       } else {\r
-               priorNode->next=currentNode->next;\r
-       }\r
-       free(currentNode);\r
-\r
-}\r
-\r
-void showInfo(void* a) {\r
-       memm* currentNode;\r
-       memm* priorNode=NULL;\r
-\r
-       if (list==NULL) {\r
-               fprintf(stderr,"lista vacia\n");\r
-               return; /* Empty list */\r
-       }\r
-       currentNode=list;\r
-       while ((currentNode->pointer!=a)&&(currentNode->next!=NULL)) {\r
-               priorNode=currentNode;\r
-               currentNode=currentNode->next;\r
-       }\r
-       if (currentNode->pointer!=a) {\r
-               fprintf(stderr,"Puntero no alocado\n");\r
-               return; /* Not found */\r
-       }\r
-\r
-       fprintf(stderr,"showInfo: %d bytes at %p alloc: %d@%s Mem tot: %d\n",currentNode->size,currentNode->pointer,currentNode->line,currentNode->file,memcounter);\r
-\r
-}\r
-\r
-void showStats() {\r
-       fprintf(stderr,"Total de memoria manejada: %d. Allocaciones: %d. Memoria no liberada: %d\n",memsize,memcounter,memsizef);\r
-\r
-       memm* currentNode;\r
-       if (list==NULL) {\r
-               fprintf(stderr,"Todo COOL!!!!!\n");\r
-               return; /* Empty list */\r
-       }\r
-       currentNode=list;\r
-       do {\r
-               fprintf(stderr,"en %s@%d alocaste %d en %p y no los liberaste\n",currentNode->file,currentNode->line,currentNode->size,currentNode->pointer);\r
-               currentNode=currentNode->next;\r
-       } while (currentNode->next!=NULL);\r
-\r
-}\r
-#endif\r
+
+
+#else
+#include <stdlib.h>
+#include <stdio.h>
+
+typedef struct memm {
+       struct memm* next;
+       void* pointer;
+       char  file[30];
+       int   line;
+       int   size;
+}memm;
+
+
+static memm* list=NULL;
+static int memcounter=0;
+static long int memsize=0;
+static long int memsizef=0;
+
+void* mymalloc(int size,char* fileName,int line) {
+       memm* nodo;
+       void* p;
+       p=malloc(size);
+       nodo=malloc(sizeof(memm));
+       nodo->next=list;
+       list=nodo;
+       strcpy(nodo->file,fileName);
+       nodo->line=line;
+       nodo->size=size;
+       nodo->pointer=p;
+       /*if (!(memcounter%100))
+       //fprintf(stderr,"Memory allocation: %d bytes at %p in %d@%s (%d/%d)\n",size,p,line,fileName,memsize,memcounter); */
+       memcounter++;
+       memsize+=size;
+       memsizef+=size;
+       return p;
+}
+
+void myfree(void* a,char* fileName,int line) {
+       memm* currentNode;
+       memm* priorNode=NULL;
+       memcounter--;
+       /*if ((!(memcounter%100))||((memcounter<100)&&(memcounter>-100)))
+       //fprintf(stderr,"Liberando memoria? -> %p (%d/%d)\n",a,memsize,memcounter);*/
+
+
+       free(a);
+
+       if (list==NULL) {
+               fprintf(stderr,"Error!!!! se pidio liberar %p pero no estaba alocado (lista vacia)\n",a);
+               return; /* Empty list */
+       }
+       currentNode=list;
+       while ((currentNode->pointer!=a)&&(currentNode->next!=NULL)) {
+               priorNode=currentNode;
+               currentNode=currentNode->next;
+       }
+       if (currentNode->pointer!=a) {
+               fprintf(stderr,"Error!!!! se pidio liberar %p pero no estaba alocado %d@%s\n",a,line,fileName);
+               return; /* Not found */
+       }
+
+       memsizef-=currentNode->size;
+
+       /*fprintf(stderr,"Liberada: %d bytes at %p alloc: %d@%s | free  %d@%s  (%d/%d)\n",currentNode->size,currentNode->pointer,currentNode->line,currentNode->file,line,fileName,memsize,memcounter);*/
+
+       /* free node and set prior pointer to the next */
+       if (priorNode==NULL) {
+               list=currentNode->next;
+       } else {
+               priorNode->next=currentNode->next;
+       }
+       free(currentNode);
+
+}
+
+void showInfo(void* a) {
+       memm* currentNode;
+       memm* priorNode=NULL;
+
+       if (list==NULL) {
+               fprintf(stderr,"lista vacia\n");
+               return; /* Empty list */
+       }
+       currentNode=list;
+       while ((currentNode->pointer!=a)&&(currentNode->next!=NULL)) {
+               priorNode=currentNode;
+               currentNode=currentNode->next;
+       }
+       if (currentNode->pointer!=a) {
+               fprintf(stderr,"Puntero no alocado\n");
+               return; /* Not found */
+       }
+
+       fprintf(stderr,"showInfo: %d bytes at %p alloc: %d@%s Mem tot: %d\n",currentNode->size,currentNode->pointer,currentNode->line,currentNode->file,memcounter);
+
+}
+
+void showStats() {
+       fprintf(stderr,"Total de memoria manejada: %d. Allocaciones: %d. Memoria no liberada: %d\n",memsize,memcounter,memsizef);
+
+       memm* currentNode;
+       if (list==NULL) {
+               fprintf(stderr,"Todo COOL!!!!!\n");
+               return; /* Empty list */
+       }
+       currentNode=list;
+       do {
+               fprintf(stderr,"en %s@%d alocaste %d en %p y no los liberaste\n",currentNode->file,currentNode->line,currentNode->size,currentNode->pointer);
+               currentNode=currentNode->next;
+       } while (currentNode->next!=NULL);
+
+}
+#endif
index 44eebf0a6b5ce3c6aa8160ddc0d0ad1a5e7738f2..c5bc9cfb261e0296bec5a9fe5e2ada6b9ac4a1af 100644 (file)
@@ -213,21 +213,21 @@ int mExpandGraphic(const unsigned char* data,tImage *image, int dataSizeInBytes)
 
        int imageSizeInBytes;
        int result;
-printf("+K) %d:%d:%d:%d:%d:%d\n",data[0],data[1],data[2],data[3],data[4],data[5]);
+/* printf("+K) %d:%d:%d:%d:%d:%d\n",data[0],data[1],data[2],data[3],data[4],data[5]); */
 
        data++;
-       image->height=array2short(data);//((unsigned char)data[0])+((unsigned char)data[1]<<8);data+=2;
+       image->height=array2short(data);
        data+=2;
-       image->width =array2short(data);//((unsigned char)data[0])+((unsigned char)data[1]<<8);data+=2;
+       image->width =array2short(data);
        data+=2;
-printf("K) %d;%d\n",image->width,image->height);
+/* printf("K) %d;%d\n",image->width,image->height); */
 
 fld("XX");
        if (*(data++)) return COMPRESS_RESULT_FATAL; /* Verify format */
 fld("YY");
        image->type=(unsigned char)(*(data++));
        dataSizeInBytes-=7;
-printf("K) %d+%d*%d,%d\n",image->pix,image->height,image->widthInBytes,image->widthInBytes);
+/* printf("K) %d+%d*%d,%d\n",image->pix,image->height,image->widthInBytes,image->widthInBytes); */
        if (image->type&0xB0) {
                image->widthInBytes=(image->width+1)/2;
        } else {
@@ -261,7 +261,7 @@ printf("K) %d+%d*%d,%d\n",image->pix,image->height,image->widthInBytes,image->wi
                        result=COMPRESS_RESULT_FATAL;
                        break;
        }
-printf("-K) %d+%d*%d,%d\n",image->pix,image->height,image->widthInBytes,image->widthInBytes);
+/* printf("-K) %d+%d*%d,%d\n",image->pix,image->height,image->widthInBytes,image->widthInBytes); */
        return result; /* Ok */
 }
 
index 44eebf0a6b5ce3c6aa8160ddc0d0ad1a5e7738f2..c5bc9cfb261e0296bec5a9fe5e2ada6b9ac4a1af 100644 (file)
@@ -213,21 +213,21 @@ int mExpandGraphic(const unsigned char* data,tImage *image, int dataSizeInBytes)
 
        int imageSizeInBytes;
        int result;
-printf("+K) %d:%d:%d:%d:%d:%d\n",data[0],data[1],data[2],data[3],data[4],data[5]);
+/* printf("+K) %d:%d:%d:%d:%d:%d\n",data[0],data[1],data[2],data[3],data[4],data[5]); */
 
        data++;
-       image->height=array2short(data);//((unsigned char)data[0])+((unsigned char)data[1]<<8);data+=2;
+       image->height=array2short(data);
        data+=2;
-       image->width =array2short(data);//((unsigned char)data[0])+((unsigned char)data[1]<<8);data+=2;
+       image->width =array2short(data);
        data+=2;
-printf("K) %d;%d\n",image->width,image->height);
+/* printf("K) %d;%d\n",image->width,image->height); */
 
 fld("XX");
        if (*(data++)) return COMPRESS_RESULT_FATAL; /* Verify format */
 fld("YY");
        image->type=(unsigned char)(*(data++));
        dataSizeInBytes-=7;
-printf("K) %d+%d*%d,%d\n",image->pix,image->height,image->widthInBytes,image->widthInBytes);
+/* printf("K) %d+%d*%d,%d\n",image->pix,image->height,image->widthInBytes,image->widthInBytes); */
        if (image->type&0xB0) {
                image->widthInBytes=(image->width+1)/2;
        } else {
@@ -261,7 +261,7 @@ printf("K) %d+%d*%d,%d\n",image->pix,image->height,image->widthInBytes,image->wi
                        result=COMPRESS_RESULT_FATAL;
                        break;
        }
-printf("-K) %d+%d*%d,%d\n",image->pix,image->height,image->widthInBytes,image->widthInBytes);
+/* printf("-K) %d+%d*%d,%d\n",image->pix,image->height,image->widthInBytes,image->widthInBytes); */
        return result; /* Ok */
 }
 
index 44eebf0a6b5ce3c6aa8160ddc0d0ad1a5e7738f2..c5bc9cfb261e0296bec5a9fe5e2ada6b9ac4a1af 100644 (file)
@@ -213,21 +213,21 @@ int mExpandGraphic(const unsigned char* data,tImage *image, int dataSizeInBytes)
 
        int imageSizeInBytes;
        int result;
-printf("+K) %d:%d:%d:%d:%d:%d\n",data[0],data[1],data[2],data[3],data[4],data[5]);
+/* printf("+K) %d:%d:%d:%d:%d:%d\n",data[0],data[1],data[2],data[3],data[4],data[5]); */
 
        data++;
-       image->height=array2short(data);//((unsigned char)data[0])+((unsigned char)data[1]<<8);data+=2;
+       image->height=array2short(data);
        data+=2;
-       image->width =array2short(data);//((unsigned char)data[0])+((unsigned char)data[1]<<8);data+=2;
+       image->width =array2short(data);
        data+=2;
-printf("K) %d;%d\n",image->width,image->height);
+/* printf("K) %d;%d\n",image->width,image->height); */
 
 fld("XX");
        if (*(data++)) return COMPRESS_RESULT_FATAL; /* Verify format */
 fld("YY");
        image->type=(unsigned char)(*(data++));
        dataSizeInBytes-=7;
-printf("K) %d+%d*%d,%d\n",image->pix,image->height,image->widthInBytes,image->widthInBytes);
+/* printf("K) %d+%d*%d,%d\n",image->pix,image->height,image->widthInBytes,image->widthInBytes); */
        if (image->type&0xB0) {
                image->widthInBytes=(image->width+1)/2;
        } else {
@@ -261,7 +261,7 @@ printf("K) %d+%d*%d,%d\n",image->pix,image->height,image->widthInBytes,image->wi
                        result=COMPRESS_RESULT_FATAL;
                        break;
        }
-printf("-K) %d+%d*%d,%d\n",image->pix,image->height,image->widthInBytes,image->widthInBytes);
+/* printf("-K) %d+%d*%d,%d\n",image->pix,image->height,image->widthInBytes,image->widthInBytes); */
        return result; /* Ok */
 }
 
index 44eebf0a6b5ce3c6aa8160ddc0d0ad1a5e7738f2..c5bc9cfb261e0296bec5a9fe5e2ada6b9ac4a1af 100644 (file)
@@ -213,21 +213,21 @@ int mExpandGraphic(const unsigned char* data,tImage *image, int dataSizeInBytes)
 
        int imageSizeInBytes;
        int result;
-printf("+K) %d:%d:%d:%d:%d:%d\n",data[0],data[1],data[2],data[3],data[4],data[5]);
+/* printf("+K) %d:%d:%d:%d:%d:%d\n",data[0],data[1],data[2],data[3],data[4],data[5]); */
 
        data++;
-       image->height=array2short(data);//((unsigned char)data[0])+((unsigned char)data[1]<<8);data+=2;
+       image->height=array2short(data);
        data+=2;
-       image->width =array2short(data);//((unsigned char)data[0])+((unsigned char)data[1]<<8);data+=2;
+       image->width =array2short(data);
        data+=2;
-printf("K) %d;%d\n",image->width,image->height);
+/* printf("K) %d;%d\n",image->width,image->height); */
 
 fld("XX");
        if (*(data++)) return COMPRESS_RESULT_FATAL; /* Verify format */
 fld("YY");
        image->type=(unsigned char)(*(data++));
        dataSizeInBytes-=7;
-printf("K) %d+%d*%d,%d\n",image->pix,image->height,image->widthInBytes,image->widthInBytes);
+/* printf("K) %d+%d*%d,%d\n",image->pix,image->height,image->widthInBytes,image->widthInBytes); */
        if (image->type&0xB0) {
                image->widthInBytes=(image->width+1)/2;
        } else {
@@ -261,7 +261,7 @@ printf("K) %d+%d*%d,%d\n",image->pix,image->height,image->widthInBytes,image->wi
                        result=COMPRESS_RESULT_FATAL;
                        break;
        }
-printf("-K) %d+%d*%d,%d\n",image->pix,image->height,image->widthInBytes,image->widthInBytes);
+/* printf("-K) %d+%d*%d,%d\n",image->pix,image->height,image->widthInBytes,image->widthInBytes); */
        return result; /* Ok */
 }
 
index f64c207f54d7a882c858c5c53bd5f7d66601aef2..a9a4f03ee1c276575f01520ca75c25452cb48cf2 100644 (file)
@@ -377,9 +377,8 @@ tTag* makeTree(char** p,char* name, int* error,tTag* father) {
                        /* Set variable and destroy old variables */
                        sprintf(str,"%s/%s",father->path,tag->path);
                        free(tag->path);
-                       if ((*(father->path))==0) free(father->path);
+                       if ((*(father->path))==0) {free(father->path);father->path=NULL;}
                        tag->path=str;
-                       memcpy(tag->path,str,x);
                }
        }
        /* END specific xml tag inheritance */
@@ -460,11 +459,13 @@ tTag* parseXmlFile(const char* vFile,int* error) {
        char* value=NULL;
        tTag* tag;
        tTag* father;
+       int size;
 
-       if (!mLoadFileArray(vFile,(unsigned char**)(&l))) {
+       if (!(size=mLoadFileArray(vFile,(unsigned char**)(&l)))) {
                *error=-4; /* File not open */
                return NULL;
        }
+       l[size-1]=0; /* The last character must be an end of line (the > is forbiden) */ 
        p=l;
 
        *error=getNextTag(&p, &value);
@@ -482,7 +483,9 @@ tTag* parseXmlFile(const char* vFile,int* error) {
                free(father);
                return NULL;
        }
+       
        *error=getNextTag(&p, &value);
+       
        free(l);
        if (*error<0) {
                freeTagStructure(tag);
index c081677dc33281c335e63ca3c1ed58431cdae9ea..973573620d56187d90a1dd8ee7d1e9f52afc804d 100755 (executable)
Binary files a/PR/src/ports/winfiles/pr.exe and b/PR/src/ports/winfiles/pr.exe differ