Subversion Repositories filter_foundry

Compare Revisions

Regard whitespace Rev 495 → Rev 496

/trunk/language.c
43,6 → 43,7
#endif
}
 
// Attention: Requires FF_GetMsg_Free(), otherwise memory is leaked
TCHAR* FF_GetMsg_Cpy(int MsgId) {
#ifdef WIN_ENV
TCHAR* szMsg;
49,7 → 50,7
int len;
TCHAR* ret;
len = LoadString(hDllInstance, MsgId, (LPTSTR)&szMsg, 0);
ret = (TCHAR*)malloc((len+1) * sizeof(TCHAR)); // TODO: This leaks memory! Like _strdup() does... Not a good design!
ret = (TCHAR*)malloc((len+1) * sizeof(TCHAR));
if (ret == NULL) return NULL;
LoadString(hDllInstance, MsgId, ret, len+1);
return ret;
56,8 → 57,13
#else
Str255 msg;
TCHAR* ret;
ret = (TCHAR*)malloc((len + 1) * sizeof(TCHAR));
GetIndString(msg, 1000, MsgId);
myp2cstrcpy(ret, msg);
return ret;
#endif
}
 
void FF_GetMsg_Free(TCHAR* str) {
free(str);
}
/trunk/language.h
255,3 → 255,4
void strcpy_advance_id(TCHAR** str, int msgid);
void FF_GetMsg(TCHAR* ret, int MsgId);
TCHAR* FF_GetMsg_Cpy(int MsgId);
void FF_GetMsg_Free(TCHAR* str);
/trunk/load_win.c
69,7 → 69,7
deobfusc(copy);
res = readPARM(&gdata->parm, (Ptr)copy);
if (!res) {
*reason = FF_GetMsg_Cpy(MSG_INCOMPATIBLE_OBFUSCATION_ID);
*reason = FF_GetMsg_Cpy(MSG_INCOMPATIBLE_OBFUSCATION_ID); // TODO: This leaks memory! Needs FF_GetMsg_Free()...
}
free(copy);
gdata->obfusc = true;
107,7 → 107,7
if (hm = LoadLibraryEx(sfr->sfFile.szName, NULL, LOAD_LIBRARY_AS_DATAFILE)) {
if (readPARMresource(hm, reason)) {
if (gdata->parm.iProtected) {
*reason = FF_GetMsg_Cpy(MSG_FILTER_PROTECTED_ID);
*reason = FF_GetMsg_Cpy(MSG_FILTER_PROTECTED_ID); // TODO: This leaks memory! Needs FF_GetMsg_Free()...
//gdata->parmloaded = false;
}
else {
142,7 → 142,7
if (readfile_8bf(sfr, reason)) {
if (gdata->parm.iProtected) {
// This is for purely protected filters before the time when obfuscation and protection was merged
*reason = FF_GetMsg_Cpy(MSG_FILTER_PROTECTED_ID);
*reason = FF_GetMsg_Cpy(MSG_FILTER_PROTECTED_ID); // TODO: This leaks memory! Needs FF_GetMsg_Free()...
}
else {
gdata->parmloaded = true;
154,7 → 154,7
// We didn't had success. If we have a clear reason, return false and the reason.
// If we don't have a clear reason, set a generic reason and return false.
if (*reason == NULL) {
*reason = FF_GetMsg_Cpy(MSG_LOADFILE_UNKNOWN_FORMAT_ID);
*reason = FF_GetMsg_Cpy(MSG_LOADFILE_UNKNOWN_FORMAT_ID); // TODO: This leaks memory! Needs FF_GetMsg_Free()...
}
return false;
}
/trunk/read.c
84,7 → 84,7
/* it's not an empty line; append it to current expr string */
if( q+lineptr > curexpr+MAXEXPR ){
// TODO: isn't the limit 1024?! (because we need to have the NUL too?)
*reason = FF_GetMsg_Cpy(MSG_EXPRESSION1024_FOUND_ID);
*reason = FF_GetMsg_Cpy(MSG_EXPRESSION1024_FOUND_ID); // TODO: This leaks memory! Needs FF_GetMsg_Free()...
break;
}
q = cat(q,linebuf);
94,7 → 94,7
free(expr[exprcnt]);
*q = 0;
if(!(expr[exprcnt] = my_strdup(curexpr))){
*reason = FF_GetMsg_Cpy(MSG_EXPRESSION_OOM_ID);
*reason = FF_GetMsg_Cpy(MSG_EXPRESSION_OOM_ID); // TODO: This leaks memory! Needs FF_GetMsg_Free()...
break;
}
 
351,7 → 351,7
} // else no point in proceeding
FSClose(refnum);
}else
*reason = FF_GetMsg_Cpy(MSG_CANNOT_OPEN_FILE_ID);
*reason = FF_GetMsg_Cpy(MSG_CANNOT_OPEN_FILE_ID); // TODO: This leaks memory! Needs FF_GetMsg_Free()...
 
if (res) gdata->obfusc = false;
return res;
816,7 → 816,7
FSClose(r);
}
else
*reason = FF_GetMsg_Cpy(MSG_CANNOT_OPEN_FILE_ID);
*reason = FF_GetMsg_Cpy(MSG_CANNOT_OPEN_FILE_ID); // TODO: This leaks memory! Needs FF_GetMsg_Free()...
 
return res;
}
/trunk/save.c
252,8 → 252,8
}
 
FSClose(r);
}else reasonstr = FF_GetMsg_Cpy(MSG_CANNOT_OPEN_FILE_ID);
else reasonstr = FF_GetMsg_Cpy(MSG_CANNOT_CREATE_FILE_ID);
}else reasonstr = FF_GetMsg_Cpy(MSG_CANNOT_OPEN_FILE_ID); // TODO: This leaks memory! Needs FF_GetMsg_Free()...
else reasonstr = FF_GetMsg_Cpy(MSG_CANNOT_CREATE_FILE_ID); // TODO: This leaks memory! Needs FF_GetMsg_Free()...
 
if (!res) {
alertuser_id(MSG_CANNOT_SAVE_SETTINGS_ID, reasonstr);
/trunk/ui.c
360,11 → 360,19
case OPENITEM:
{
TCHAR* tmp1;
TCHAR* filters = (TCHAR*)malloc(4096);
TCHAR* filters, *title;
Boolean loadDlgRet;
 
title = (TCHAR*)malloc(1024);
if (title == NULL) return false;
 
filters = (TCHAR*)malloc(4096);
if (filters == NULL) return false;
memset(filters, 0, 4096);
tmp1 = filters;
 
FF_GetMsg(title, MSG_LOAD_FILTER_SETTINGS_TITLE_ID);
 
strcpy_advance_id(&tmp1, MSG_ALL_SUPPORTED_FILES_ID);
strcpy_advance(&tmp1, (TCHAR*)TEXT(" (*.afs, *.8bf, *.pff, *.prm, *.bin, *.rsrc, *.txt, *.ffx)")); tmp1++;
strcpy_advance(&tmp1, (TCHAR*)TEXT("*.afs;*.8bf;*.pff;*.prm;*.bin;*.rsrc;*.txt;*.ffx")); tmp1++;
401,17 → 409,21
strcpy_advance(&tmp1, (TCHAR*)TEXT(" (*.*)")); tmp1++;
strcpy_advance(&tmp1, (TCHAR*)TEXT("*.*")); tmp1++;
 
if (!gdata->standalone && choosefiletypes(
loadDlgRet = !gdata->standalone && choosefiletypes(
#ifdef MAC_ENV
(StringPtr)_strdup("\pChoose filter settings"), // "\p" means "Pascal string" // TODO (Not important yet): TRANSLATE
&sfr, &reply, types, 2,
filters
#else
FF_GetMsg_Cpy(MSG_LOAD_FILTER_SETTINGS_TITLE_ID),
&sfr, &reply, types, 2,
title, &sfr, &reply, types, 2,
filters, gdata->hWndMainDlg
#endif
)) {
);
free(filters);
free(title);
 
if (loadDlgRet) {
// Backup everything, otherwise we might lose parameter data if the loading fails
bakState = saveInternalState();
 
426,17 → 438,24
restoreInternalState(bakState);
}
}
free(filters);
break;
}
case SAVEITEM:
{
TCHAR* tmp1;
TCHAR* filters = (TCHAR*)malloc(4096);
TCHAR* filters, *title;
Boolean saveDlgRet;
 
title = (TCHAR*)malloc(1024);
if (title == NULL) return false;
 
filters = (TCHAR*)malloc(4096);
if (filters == NULL) return false;
memset(filters, 0, 4096);
tmp1 = filters;
 
FF_GetMsg(title, MSG_SAVE_FILTER_SETTINGS_TITLE_ID);
 
strcpy_advance_id(&tmp1, MSG_ALL_SUPPORTED_FILES_ID);
strcpy_advance(&tmp1, (TCHAR*)TEXT(" (*.afs, *.pff, *.txt)")); tmp1++;
strcpy_advance(&tmp1, (TCHAR*)TEXT("*.afs;*.pff;*.txt")); tmp1++;
457,7 → 476,7
strcpy_advance(&tmp1, (TCHAR*)TEXT(" (*.*)")); tmp1++;
strcpy_advance(&tmp1, (TCHAR*)TEXT("*.*")); tmp1++;
 
if (!gdata->standalone && putfile(
saveDlgRet = !gdata->standalone && putfile(
#ifdef MAC_ENV
(StringPtr)_strdup("\pSave filter settings"), // "\p" means "Pascal string" // TODO (Not important yet): TRANSLATE
(StringPtr)_strdup("\0"),
465,13 → 484,18
"afs",
filters, 1
#else
FF_GetMsg_Cpy(MSG_SAVE_FILTER_SETTINGS_TITLE_ID),
title,
TEXT("\0"),
TEXT_FILETYPE, SIG_SIMPLETEXT, &reply, &sfr,
TEXT("afs"),
filters, 1, gdata->hWndMainDlg
#endif
)) {
);
free(filters);
free(title);
 
if (saveDlgRet) {
if (savefile_afs_pff_picotxt(&sfr)) {
completesave(&reply);
 
505,7 → 529,7
 
}
}
free(filters);
 
break;
}
case MAKEITEM:
/trunk/ui_build.c
253,35 → 253,33
GetDlgItemText(dp, TITLEITEM, fname, MAXFIELD);
 
{
TCHAR filters[3000];
TCHAR* tmp1, * tmp2;
size_t len;
TCHAR* tmp1;
TCHAR* filters, *title;
Boolean makeDlgRet;
 
memset(&filters[0], 0, sizeof(filters));
tmp1 = &filters[0];
title = (TCHAR*)malloc(1024);
if (title == NULL) return false;
 
FF_GetMsg(tmp1, MSG_MAKE_8BF_ID);
tmp1 += xstrlen(tmp1);
len = xstrlen(tmp2 = TEXT(" (*.8bf)"));
memcpy(tmp1, tmp2, len * sizeof(TCHAR));
tmp1 += (len + 1);
len = xstrlen(tmp2 = TEXT("*.8bf"));
memcpy(tmp1, tmp2, len * sizeof(TCHAR));
tmp1 += (len + 1);
filters = (TCHAR*)malloc(4096);
if (filters == NULL) return false;
memset(filters, 0, 4096);
tmp1 = filters;
 
FF_GetMsg(tmp1, MSG_ALL_FILES_ID);
tmp1 += xstrlen(tmp1);
len = xstrlen(tmp2 = TEXT(" (*.*)"));
memcpy(tmp1, tmp2, len * sizeof(TCHAR));
tmp1 += (len + 1);
len = xstrlen(tmp2 = TEXT("*.*"));
memcpy(tmp1, tmp2, len * sizeof(TCHAR));
tmp1 += (len + 1);
FF_GetMsg(title, MSG_MAKE_FILTER_SETTINGS_TITLE_ID);
 
strcpy_advance_id(&tmp1, MSG_MAKE_8BF_ID);
strcpy_advance(&tmp1, (TCHAR*)TEXT(" (*.8bf)")); tmp1++;
strcpy_advance(&tmp1, (TCHAR*)TEXT("*.8bf")); tmp1++;
 
strcpy_advance_id(&tmp1, MSG_ALL_FILES_ID);
strcpy_advance(&tmp1, (TCHAR*)TEXT(" (*.*)")); tmp1++;
strcpy_advance(&tmp1, (TCHAR*)TEXT("*.*")); tmp1++;
 
#ifdef MACMACHO
strcat(fname, ".plugin");
#endif
if (putfile(
 
makeDlgRet = putfile(
#ifdef MAC_ENV
(StringPtr)_strdup("\pMake standalone filter"), // "\p" means "Pascal string" // TODO (Not important yet): TRANSLATE
(StringPtr)myc2pstr(_strdup(fname)),
288,7 → 286,7
PS_FILTER_FILETYPE, kPhotoshopSignature, &reply, &sfr,
"8bf", &filters[0], 1
#else
FF_GetMsg_Cpy(MSG_MAKE_FILTER_SETTINGS_TITLE_ID),
title,
fname,
PS_FILTER_FILETYPE, kPhotoshopSignature, &reply, &sfr,
TEXT("8bf"),
295,7 → 293,12
&filters[0], 1
, (HWND)dp
#endif
)) {
);
free(filters);
free(title);
 
if (makeDlgRet) {
make_standalone(&sfr);
}
else {