diff --git a/ctrtool/Makefile b/ctrtool/Makefile index 75a44fd..5fdb276 100644 --- a/ctrtool/Makefile +++ b/ctrtool/Makefile @@ -3,7 +3,7 @@ POLAR_OBJS = polarssl/aes.o polarssl/bignum.o polarssl/rsa.o polarssl/sha2.o TINYXML_OBJS = tinyxml/tinystr.o tinyxml/tinyxml.o tinyxml/tinyxmlerror.o tinyxml/tinyxmlparser.o LIBS = -lstdc++ CXXFLAGS = -I. -CFLAGS = -Wall -I. +CFLAGS = -Wall -Wno-unused-variable -Wno-unused-but-set-variable -I. OUTPUT = ctrtool CC = gcc diff --git a/ctrtool/exheader.c b/ctrtool/exheader.c index 205a94d..8c94548 100644 --- a/ctrtool/exheader.c +++ b/ctrtool/exheader.c @@ -581,11 +581,11 @@ void exheader_print(exheader_context* ctx) fprintf(stdout, "Dependency: %016llX\n", getle64(ctx->header.deplist.programid[i])); } if(savedatasize < sizeKB) - fprintf(stdout, "Savedata size: 0x%X\n", savedatasize); + fprintf(stdout, "Savedata size: 0x%llX\n", savedatasize); else if(savedatasize < sizeMB) - fprintf(stdout, "Savedata size: %dK\n", savedatasize/sizeKB); + fprintf(stdout, "Savedata size: %lluK\n", savedatasize/sizeKB); else - fprintf(stdout, "Savedata size: %dM\n", savedatasize/sizeMB); + fprintf(stdout, "Savedata size: %lluM\n", savedatasize/sizeMB); fprintf(stdout, "Jump id: %016llX\n", getle64(ctx->header.systeminfo.jumpid)); fprintf(stdout, "Program id: %016llX %s\n", getle64(ctx->header.arm11systemlocalcaps.programid), exheader_getvalidstring(ctx->validprogramid)); diff --git a/makerom/Makefile b/makerom/Makefile index c727cf3..f8f4118 100644 --- a/makerom/Makefile +++ b/makerom/Makefile @@ -15,7 +15,7 @@ YAML_OBJS = libyaml/api.o libyaml/dumper.o libyaml/emitter.o libyaml/loader.o li # Compiler Settings LIBS = -static-libgcc -static-libstdc++ CXXFLAGS = -I. -CFLAGS = --std=c99 -Wall -I. -DMAKEROM_VER_MAJOR=$(VER_MAJOR) -DMAKEROM_VER_MINOR=$(VER_MINOR) $(MAKEROM_BUILD_FLAGS) -m64 +CFLAGS = --std=c99 -Wall -Wno-unused-but-set-variable -Wno-unused-value -I. -DMAKEROM_VER_MAJOR=$(VER_MAJOR) -DMAKEROM_VER_MINOR=$(VER_MINOR) $(MAKEROM_BUILD_FLAGS) -m64 CC = gcc # MAKEROM Build Settings @@ -37,4 +37,4 @@ clean: # Windows compatibility rebuildwin: cleanwin build cleanwin: - del /Q objs $(OUTPUT).exe *.o polarssl\*.o libyaml\*.o *.cci *.cia *.cxi *.cfa \ No newline at end of file + del /Q objs $(OUTPUT).exe *.o polarssl\*.o libyaml\*.o *.cci *.cia *.cxi *.cfa diff --git a/makerom/accessdesc.c b/makerom/accessdesc.c index 4405952..8de7884 100644 --- a/makerom/accessdesc.c +++ b/makerom/accessdesc.c @@ -114,27 +114,27 @@ int accessdesc_GetSignFromRsf(exheader_settings *exhdrset, ncch_settings *ncchse u32 out; out = 0x100; - result = base64_decode(exhdrset->keys->rsa.cxiHdrPub,&out,(const u8*)exhdrset->rsf->CommonHeaderKey.Modulus,strlen(exhdrset->rsf->CommonHeaderKey.Modulus)); + result = base64_decode(exhdrset->keys->rsa.cxiHdrPub,(size_t *)&out,(const u8*)exhdrset->rsf->CommonHeaderKey.Modulus,strlen(exhdrset->rsf->CommonHeaderKey.Modulus)); if(out != 0x100) result = POLARSSL_ERR_BASE64_BUFFER_TOO_SMALL; if(result) goto finish; out = 0x100; - result = base64_decode(exhdrset->keys->rsa.cxiHdrPvt,&out,(const u8*)exhdrset->rsf->CommonHeaderKey.D,strlen(exhdrset->rsf->CommonHeaderKey.D)); + result = base64_decode(exhdrset->keys->rsa.cxiHdrPvt,(size_t *)&out,(const u8*)exhdrset->rsf->CommonHeaderKey.D,strlen(exhdrset->rsf->CommonHeaderKey.D)); if(out != 0x100) result = POLARSSL_ERR_BASE64_BUFFER_TOO_SMALL; if(result) goto finish; /* Set AccessDesc */ out = 0x100; - result = base64_decode(exhdrset->exHdr->accessDescriptor.signature,&out,(const u8*)exhdrset->rsf->CommonHeaderKey.AccCtlDescSign, strlen( exhdrset->rsf->CommonHeaderKey.AccCtlDescSign)); + result = base64_decode(exhdrset->exHdr->accessDescriptor.signature,(size_t *)&out,(const u8*)exhdrset->rsf->CommonHeaderKey.AccCtlDescSign, strlen( exhdrset->rsf->CommonHeaderKey.AccCtlDescSign)); if(out != 0x100) result = POLARSSL_ERR_BASE64_BUFFER_TOO_SMALL; if(result) goto finish; memcpy(exhdrset->exHdr->accessDescriptor.ncchRsaPubKey,exhdrset->keys->rsa.cxiHdrPub,0x100); out = 0x200; - result = base64_decode((u8*)&exhdrset->exHdr->accessDescriptor.arm11SystemLocalCapabilities,&out,(const u8*)exhdrset->rsf->CommonHeaderKey.AccCtlDescBin,strlen(exhdrset->rsf->CommonHeaderKey.AccCtlDescBin)); + result = base64_decode((u8*)&exhdrset->exHdr->accessDescriptor.arm11SystemLocalCapabilities,(size_t *)&out,(const u8*)exhdrset->rsf->CommonHeaderKey.AccCtlDescBin,strlen(exhdrset->rsf->CommonHeaderKey.AccCtlDescBin)); if(out != 0x200) result = POLARSSL_ERR_BASE64_BUFFER_TOO_SMALL; if(result) goto finish; @@ -494,4 +494,4 @@ void b64_strcpy(char *dst, char *src) memdump(stdout,"src: ",(u8*)src,src_len+1); memdump(stdout,"dst: ",(u8*)dst,j+1); -} \ No newline at end of file +} diff --git a/makerom/dir.c b/makerom/dir.c index 68e5524..2c2e0b4 100644 --- a/makerom/dir.c +++ b/makerom/dir.c @@ -277,7 +277,7 @@ void fs_PrintDir(fs_dir *dir, u32 depth) // This is just for simple debugging, p name = (char*)dir->file[i].name; for(u32 j = 0; j < dir->file[i].name_len; j+=2) putchar(name[j]); - printf(" (0x%lx)\n",dir->file[i].size); + printf(" (0x%llx)\n",dir->file[i].size); #endif } } @@ -324,4 +324,4 @@ void fs_FreeFiles(fs_dir *dir) fs_dir *tmp = (fs_dir*)dir->dir; for(u32 i = 0; i < dir->u_dir; i++) fs_FreeFiles(&tmp[i]); -} \ No newline at end of file +} diff --git a/makerom/libyaml/yaml_private.h b/makerom/libyaml/yaml_private.h index 31ed23c..92bf799 100644 --- a/makerom/libyaml/yaml_private.h +++ b/makerom/libyaml/yaml_private.h @@ -7,7 +7,7 @@ #include #include - +#include #define YAML_titleVersion_STRING "0.1.4" #define YAML_titleVersion_MAJOR 0 diff --git a/makerom/ncsd.c b/makerom/ncsd.c index 45e16a1..ec20856 100644 --- a/makerom/ncsd.c +++ b/makerom/ncsd.c @@ -538,12 +538,12 @@ int GetWriteableAddress(cci_settings *cciset, user_settings *usrset) if(cciset->cardinfo.writableAddress == -1){ // If not set manually or is max size if ((cciset->header.mediaSize / 2) < cciset->option.savedataSize){ // If SaveData size is greater than half the MediaSize u64 SavedataSize = cciset->option.savedataSize / KB; - fprintf(stderr,"[CCI ERROR] Too large SavedataSize %llK\n",SavedataSize); + fprintf(stderr,"[CCI ERROR] Too large SavedataSize %lldK\n",SavedataSize); return SAVE_DATA_TOO_LARGE; } if (cciset->option.savedataSize > (u64)(2047*MB)){ // Limit set by Nintendo u64 SavedataSize = cciset->option.savedataSize / KB; - fprintf(stderr,"[CCI ERROR] Too large SavedataSize %llK\n",SavedataSize); + fprintf(stderr,"[CCI ERROR] Too large SavedataSize %lldK\n",SavedataSize); return SAVE_DATA_TOO_LARGE; } if(usrset->cci.closeAlignWritableRegion) diff --git a/makerom/polarssl/base64.c b/makerom/polarssl/base64.c index f320f3c..5a98fa9 100644 --- a/makerom/polarssl/base64.c +++ b/makerom/polarssl/base64.c @@ -147,17 +147,17 @@ int base64_decode( unsigned char *dst, size_t *dlen, continue; if( src[i] == '=' && ++j > 2 ){ - printf("err 0 char[%d] = '%c' (0x%x)\n",i,src[i],src[i]); + printf("err 0 char[%lu] = '%c' (0x%x)\n",i,src[i],src[i]); return( POLARSSL_ERR_BASE64_INVALID_CHARACTER ); } if( src[i] > 127 || base64_dec_map[src[i]] == 127 ){ - printf("err 1 char[%d] = '%c' (0x%x)\n",i,src[i],src[i]); + printf("err 1 char[%lu] = '%c' (0x%x)\n",i,src[i],src[i]); return( POLARSSL_ERR_BASE64_INVALID_CHARACTER ); } if( base64_dec_map[src[i]] < 64 && j != 0 ){ - printf("err 2 char[%d] = '%c' (0x%x)\n",i,src[i],src[i]); + printf("err 2 char[%lu] = '%c' (0x%x)\n",i,src[i],src[i]); return( POLARSSL_ERR_BASE64_INVALID_CHARACTER ); } diff --git a/makerom/polarssl/base64.h b/makerom/polarssl/base64.h index fb0d753..604893e 100644 --- a/makerom/polarssl/base64.h +++ b/makerom/polarssl/base64.h @@ -28,6 +28,7 @@ #define POLARSSL_BASE64_H #include +#include #define POLARSSL_ERR_BASE64_BUFFER_TOO_SMALL -0x002A /**< Output buffer too small. */ #define POLARSSL_ERR_BASE64_INVALID_CHARACTER -0x002C /**< Invalid character in input. */ diff --git a/makerom/polarssl/cipher.c b/makerom/polarssl/cipher.c index f20cc73..09c3807 100644 --- a/makerom/polarssl/cipher.c +++ b/makerom/polarssl/cipher.c @@ -35,6 +35,7 @@ #include "polarssl/cipher_wrap.h" #include +#include #if defined _MSC_VER && !defined strcasecmp #define strcasecmp _stricmp diff --git a/makerom/utf.h b/makerom/utf.h index dba3f8e..0b74f16 100644 --- a/makerom/utf.h +++ b/makerom/utf.h @@ -134,8 +134,6 @@ ConversionResult ConvertUTF32toUTF8 ( const UTF32** sourceStart, const UTF32* sourceEnd, UTF8** targetStart, UTF8* targetEnd, ConversionFlags flags); -static Boolean isLegalUTF8(const UTF8 *source, int length); - Boolean isLegalUTF8Sequence(const UTF8 *source, const UTF8 *sourceEnd); unsigned getNumBytesForUTF8(UTF8 first); @@ -148,4 +146,4 @@ ConversionResult ConvertUTF8toUTF16 ( ConversionResult ConvertUTF8toUTF32 ( const UTF8** sourceStart, const UTF8* sourceEnd, - UTF32** targetStart, UTF32* targetEnd, ConversionFlags flags); \ No newline at end of file + UTF32** targetStart, UTF32* targetEnd, ConversionFlags flags); diff --git a/makerom/utils.c b/makerom/utils.c index ef7af68..44dcdbb 100644 --- a/makerom/utils.c +++ b/makerom/utils.c @@ -171,7 +171,7 @@ int str_utf8_to_u16(u16 **dst, u32 *dst_len, u8 *src, u32 src_len) UTF8 *src_start = (UTF8*)src; UTF8 *src_end = (UTF8*)(src+src_len*sizeof(u8)); - return ConvertUTF8toUTF16 (&src_start, src_end, &target_start, target_end, strictConversion); + return ConvertUTF8toUTF16 ((const UTF8 **)&src_start, src_end, &target_start, target_end, strictConversion); } #endif @@ -293,7 +293,7 @@ u8* ImportFile(char *file, u64 size) u64 fsize = GetFileSize_u64(file); if(size > 0){ if(size != fsize){ - fprintf(stderr,"[!] %s has an invalid size (0x%llx)\n",fsize); + fprintf(stderr,"[!] %s has an invalid size (0x%llx)\n",file, fsize); return NULL; } }