|
|
@@ -6,6 +6,8 @@
|
|
|
static void print_md5(md5_t* m)
|
|
|
{
|
|
|
int i;
|
|
|
+
|
|
|
+ printf("md5:");
|
|
|
for (i = 0; i < 32; i++) {
|
|
|
printf("%c", m->data[i]);
|
|
|
}
|
|
|
@@ -13,10 +15,11 @@ static void print_md5(md5_t* m)
|
|
|
static void print_info(const char* s, upgrade_file_t* hdr, md5_t *m)
|
|
|
{
|
|
|
printf("\n");
|
|
|
- printf("__%s__hdr.magic: 0x%08x\n", s, hdr->magic);
|
|
|
+ printf("__%s__hdr.magic: 0x%08x\n", s, hdr->magic);
|
|
|
printf("__%s__hdr.obj.num: %d\n", s, hdr->obj.num);
|
|
|
printf("__%s__hdr.obj.stra: %d\n", s, hdr->obj.stra);
|
|
|
- printf("__%s__hdr.obj.addr: %d\n", s, hdr->obj.addr);
|
|
|
+ printf("__%s__hdr.obj.obj1: %s\n", s, hdr->obj.obj1);
|
|
|
+ printf("__%s__hdr.obj.obj2: %s\n", s, hdr->obj.obj2);
|
|
|
print_md5(m);
|
|
|
}
|
|
|
|
|
|
@@ -40,15 +43,16 @@ int main(char argc, char *argv[])
|
|
|
//GetCurrentDirectory(500, curPath);
|
|
|
//_tprintf(_T("curPath: %s\n"), curPath);
|
|
|
|
|
|
- if(argc<4) {
|
|
|
- printf("usage: pack num stra addr packageFile\n");
|
|
|
+ if(argc<5) {
|
|
|
+ printf("usage: pack num stra obj1 obj2 packageFile\n");
|
|
|
return -1;
|
|
|
}
|
|
|
|
|
|
obj.num = (uint8_t)atoi(argv[1]);
|
|
|
obj.stra = (uint8_t)atoi(argv[2]);
|
|
|
- obj.addr = (uint8_t)atoi(argv[3]);
|
|
|
- path = argv[4];
|
|
|
+ strcpy_s(obj.obj1, sizeof(obj.obj1), argv[3]);
|
|
|
+ strcpy_s(obj.obj2, sizeof(obj.obj2), argv[4]);
|
|
|
+ path = argv[5];
|
|
|
|
|
|
xPath = mf.char_to_tchar(path);
|
|
|
if (!xPath) {
|
|
|
@@ -58,8 +62,17 @@ int main(char argc, char *argv[])
|
|
|
|
|
|
strcpy(newPath, path);
|
|
|
char* dot = strrchr(newPath, '/');
|
|
|
- if (dot) *(dot + 1) = 0;
|
|
|
- strcat(newPath, "pdupkg");
|
|
|
+ if (!dot) {
|
|
|
+ dot = strrchr(newPath, '\\');
|
|
|
+ }
|
|
|
+
|
|
|
+ if (dot) {
|
|
|
+ *(dot + 1) = 0;
|
|
|
+ strcat(newPath, "pdupkg");
|
|
|
+ }
|
|
|
+ else {
|
|
|
+ strcat(newPath, "./pdupkg");
|
|
|
+ }
|
|
|
|
|
|
fp = fopen(newPath, "wb");
|
|
|
if (!fp) {
|
|
|
@@ -74,7 +87,6 @@ int main(char argc, char *argv[])
|
|
|
|
|
|
hdr.magic = UPG_FILE_MAGIC;
|
|
|
hdr.obj = obj;
|
|
|
-
|
|
|
|
|
|
md5_calc(&hdr, sizeof(hdr), nd.pbuf, nd.dlen, (char*)md5.data);
|
|
|
fwrite(&hdr, 1, sizeof(hdr), fp);
|