1070 } |
1070 } |
1071 |
1071 |
1072 if (isPeFile) |
1072 if (isPeFile) |
1073 iNumberOfPeFiles++; |
1073 iNumberOfPeFiles++; |
1074 |
1074 |
1075 // check the PC file exists |
1075 if(EKeywordHardwareConfigRepositoryData == aKeyword) { // check hcr file |
1076 char* nname = NormaliseFileName(iReader.Word(1)); |
1076 // check the PC file exists |
1077 if(gIsOBYUTF8 && !UniConv::IsPureASCIITextStream(nname)) |
1077 char* nname = NormaliseFileName(iReader.Word(1)); |
1078 { |
1078 if(gIsOBYUTF8 && !UniConv::IsPureASCIITextStream(nname)) |
1079 char* tempnname = strdup(nname); |
|
1080 unsigned int namelen = 0; |
|
1081 if(UniConv::UTF82DefaultCodePage(tempnname, strlen(tempnname), &nname, &namelen) < 0) |
|
1082 { |
1079 { |
1083 Print(EError, "Invalid filename encoding: %s\n", tempnname); |
1080 char* tempnname = strdup(nname); |
|
1081 unsigned int namelen = 0; |
|
1082 if(UniConv::UTF82DefaultCodePage(tempnname, strlen(tempnname), &nname, &namelen) < 0) |
|
1083 { |
|
1084 Print(EError, "Invalid filename encoding: %s\n", tempnname); |
|
1085 free(tempnname); |
|
1086 iMissingFiles++; |
|
1087 delete[] nname; |
|
1088 return EFalse; |
|
1089 } |
1084 free(tempnname); |
1090 free(tempnname); |
|
1091 } |
|
1092 ifstream test(nname,ios_base::binary | ios_base::in); |
|
1093 |
|
1094 if (!test.is_open()) { |
|
1095 Print(EError,"Cannot open file %s for input.\n",iReader.Word(1)); |
|
1096 if(EKeywordHardwareConfigRepositoryData == aKeyword) { |
|
1097 delete []nname; |
|
1098 return EFalse ; |
|
1099 } |
1085 iMissingFiles++; |
1100 iMissingFiles++; |
1086 delete[] nname; |
1101 } |
1087 return EFalse; |
|
1088 } |
|
1089 free(tempnname); |
|
1090 } |
|
1091 ifstream test(nname,ios_base::binary | ios_base::in); |
|
1092 |
|
1093 if (!test.is_open()) { |
|
1094 Print(EError,"Cannot open file %s for input.\n",iReader.Word(1)); |
|
1095 if(EKeywordHardwareConfigRepositoryData == aKeyword) { |
|
1096 delete []nname; |
|
1097 return EFalse ; |
|
1098 } |
|
1099 iMissingFiles++; |
|
1100 } |
|
1101 if(EKeywordHardwareConfigRepositoryData == aKeyword) { // check hcr file |
|
1102 |
1102 |
1103 TUint32 magicWord = 0; |
1103 TUint32 magicWord = 0; |
1104 test.read(reinterpret_cast<char*>(&magicWord),sizeof(TUint32)); |
1104 test.read(reinterpret_cast<char*>(&magicWord),sizeof(TUint32)); |
1105 if(0x66524348 != magicWord) { |
1105 if(0x66524348 != magicWord) { |
1106 Print(EError,"Invalid hardware configuration repository data file %s .\n",iReader.Word(1)); |
1106 Print(EError,"Invalid hardware configuration repository data file %s .\n",iReader.Word(1)); |
1107 test.close(); |
1107 test.close(); |
1108 delete []nname; |
1108 delete []nname; |
1109 return EFalse; |
1109 return EFalse; |
1110 } |
1110 } |
1111 |
1111 test.close(); |
1112 } |
1112 delete []nname; |
1113 test.close(); |
1113 } |
1114 delete []nname; |
|
1115 |
1114 |
1116 |
1115 |
1117 TBool endOfName=EFalse; |
1116 TBool endOfName=EFalse; |
1118 if (IsValidFilePath(iReader.Word(2)) == NULL) { |
1117 if (IsValidFilePath(iReader.Word(2)) == NULL) { |
1119 Print(EError, "Invalid destination path on line %d\n",currentLine); |
1118 Print(EError, "Invalid destination path on line %d\n",currentLine); |