44#include " po_parser.h"
55#include < iostream>
66
7+ #define FORBIDDEN_SYMBOL_ALLOW_ALL
8+ #include " common/util.h"
9+
710// List of languages to look for. To add new languages you only need to change the array below
811// and add the supporting files:
912// - 640x480 bitmap picture for the newpaper named 'img1-##.pbm' and 'img2-##.pbm'
@@ -20,9 +23,9 @@ void writeDatafile(File& outputFile, int fileNumber, const char* language, int p
2023 File dataFile;
2124 char fileName[20 ];
2225 if (part == 1 )
23- sprintf (fileName, " msn_data.%03d-%s" , fileNumber, language);
26+ snprintf (fileName, ARRAYSIZE (fileName) , " msn_data.%03d-%s" , fileNumber, language);
2427 if (part == 2 )
25- sprintf (fileName, " ms2_data.%03d-%s" , fileNumber, language);
28+ snprintf (fileName, ARRAYSIZE (fileName) , " ms2_data.%03d-%s" , fileNumber, language);
2629 if (!dataFile.open (fileName, kFileReadMode )) {
2730 printf (" Cannot find dataFile %s. This file will be skipped.\n " , fileName);
2831 return ;
@@ -31,7 +34,7 @@ void writeDatafile(File& outputFile, int fileNumber, const char* language, int p
3134 // Write block header in output file (4 bytes).
3235 // M(fileNumber) for example M015
3336 char number[4 ];
34- sprintf (number, " %03d" , fileNumber);
37+ snprintf (number, ARRAYSIZE (number) , " %03d" , fileNumber);
3538 outputFile.writeByte (' M' );
3639 for (int i = 0 ; i < 3 ; ++i) {
3740 outputFile.writeByte (number[i]);
@@ -67,9 +70,9 @@ void writeDocFile(File& outputFile, const char *fileExtension, const char* langu
6770 File docFile;
6871 char fileName[20 ];
6972 if (part == 1 )
70- sprintf (fileName, " msn.%s-%s" , fileExtension, language);
73+ snprintf (fileName, ARRAYSIZE (fileName) , " msn.%s-%s" , fileExtension, language);
7174 if (part == 2 )
72- sprintf (fileName, " ms2.%s-%s" , fileExtension, language);
75+ snprintf (fileName, ARRAYSIZE (fileName) , " ms2.%s-%s" , fileExtension, language);
7376 if (!docFile.open (fileName, kFileReadMode )) {
7477 printf (" Cannot find file '%s'. This file will be skipped.\n " , fileName);
7578 return ;
@@ -113,7 +116,7 @@ void writeDocFile(File& outputFile, const char *fileExtension, const char* langu
113116void writeImage (File& outputFile, const char *name, const char * language) {
114117 File imgFile;
115118 char fileName[16 ];
116- sprintf (fileName, " %s-%s.pbm" , name, language);
119+ snprintf (fileName, ARRAYSIZE (fileName) , " %s-%s.pbm" , name, language);
117120 if (!imgFile.open (fileName, kFileReadMode )) {
118121 printf (" Cannot find image '%s' for language '%s'. This image will be skipped.\n " , name, language);
119122 return ;
@@ -256,7 +259,7 @@ void writeGermanStrings(File& outputFile, int part) {
256259
257260void writeStrings (File& outputFile, const char * language, int part) {
258261 char fileName[16 ];
259- sprintf (fileName, " strings%d-%s.po" , part, language);
262+ snprintf (fileName, ARRAYSIZE (fileName) , " strings%d-%s.po" , part, language);
260263 PoMessageList* poList = parsePoFile (fileName);
261264 if (!poList) {
262265 printf (" Cannot find strings%d file for language '%s'.\n " , part, language);
0 commit comments