mirror of
https://github.com/elasota/Aerofoil.git
synced 2025-09-23 06:53:43 +00:00
Clean up warnings
This commit is contained in:
@@ -147,8 +147,6 @@ void CenterDialog (SInt16 dialogID)
|
||||
|
||||
void GetDialogRect (Rect *bounds, short dialogID)
|
||||
{
|
||||
Byte wasState;
|
||||
|
||||
Handle dlogHandle = PortabilityLayer::ResourceManager::GetInstance()->GetAppResource('DLOG', dialogID).StaticCast<void>();
|
||||
if (dlogHandle != nil)
|
||||
{
|
||||
@@ -343,10 +341,8 @@ void ZoomOutAlertRect (short alertID)
|
||||
|
||||
void FlashDialogButton (Dialog *theDialog, short itemNumber)
|
||||
{
|
||||
Rect itemRect;
|
||||
ControlHandle itemHandle;
|
||||
UInt32 dummyLong;
|
||||
short itemType;
|
||||
|
||||
PortabilityLayer::Widget *widget = theDialog->GetItems()[itemNumber - 1].GetWidget();
|
||||
|
||||
@@ -445,9 +441,7 @@ void ToggleDialogItemValue (Dialog *theDialog, short item)
|
||||
void SetDialogNumToStr (Dialog *theDialog, short item, long theNumber)
|
||||
{
|
||||
Str255 theString;
|
||||
Rect itemRect;
|
||||
ControlHandle itemHandle;
|
||||
short itemType;
|
||||
|
||||
NumToString(theNumber, theString);
|
||||
PortabilityLayer::Widget *widget = theDialog->GetItems()[item - 1].GetWidget();
|
||||
@@ -570,7 +564,7 @@ void DrawDialogUserText (Dialog *dial, short item, StringPtr text, Boolean inver
|
||||
{
|
||||
ControlHandle iHandle;
|
||||
Str255 stringCopy;
|
||||
short iType, i, inset;
|
||||
short inset;
|
||||
|
||||
DrawSurface *surface = dial->GetWindow()->GetDrawSurface();
|
||||
|
||||
@@ -622,9 +616,7 @@ void DrawDialogUserText (Dialog *dial, short item, StringPtr text, Boolean inver
|
||||
|
||||
void DrawDialogUserText2 (Dialog *dial, short item, StringPtr text)
|
||||
{
|
||||
;
|
||||
Str255 stringCopy;
|
||||
short iType;
|
||||
|
||||
DrawSurface *surface = dial->GetWindow()->GetDrawSurface();
|
||||
PortabilityLayer::RenderedFont *appFont = GetApplicationFont(9, PortabilityLayer::FontFamilyFlag_None, true);
|
||||
|
@@ -108,13 +108,12 @@ void DoHighScores (void)
|
||||
void DrawHighScores (DrawSurface *surface)
|
||||
{
|
||||
DrawSurface *tempMap, *tempMask;
|
||||
DrawSurface *wasCPort;
|
||||
PLError_t theErr;
|
||||
houseType *thisHousePtr;
|
||||
Rect tempRect, tempRect2;
|
||||
Str255 tempStr;
|
||||
short scoreLeft, bannerWidth, i, dropIt;
|
||||
char wasState;
|
||||
|
||||
PortabilityLayer::ResolveCachingColor blackColor = PortabilityLayer::RGBAColor::Create(0, 0, 0, 255);
|
||||
PortabilityLayer::ResolveCachingColor yellowColor = PortabilityLayer::RGBAColor::Create(255, 255, 0, 255);
|
||||
PortabilityLayer::ResolveCachingColor cyanColor = PortabilityLayer::RGBAColor::Create(0, 255, 255, 255);
|
||||
@@ -277,7 +276,6 @@ void SortHighScores (void)
|
||||
houseType *thisHousePtr;
|
||||
long greatest;
|
||||
short i, h, which;
|
||||
char wasState;
|
||||
|
||||
thisHousePtr = *thisHouse;
|
||||
|
||||
@@ -313,7 +311,6 @@ void ZeroHighScores (void)
|
||||
{
|
||||
houseType *thisHousePtr;
|
||||
short i;
|
||||
char wasState;
|
||||
|
||||
thisHousePtr = *thisHouse;
|
||||
|
||||
@@ -356,7 +353,6 @@ Boolean TestHighScore (void)
|
||||
{
|
||||
houseType *thisHousePtr;
|
||||
short placing, i;
|
||||
char wasState;
|
||||
|
||||
if (resumedSavedGame)
|
||||
return (false);
|
||||
|
@@ -602,8 +602,6 @@ Boolean KeepObjectLegal (void)
|
||||
#ifndef COMPILEDEMO
|
||||
void WrapBannerAndTrailer (void)
|
||||
{
|
||||
char wasState;
|
||||
|
||||
WrapText((*thisHouse)->banner, 40);
|
||||
WrapText((*thisHouse)->trailer, 64);
|
||||
}
|
||||
@@ -615,7 +613,6 @@ void WrapBannerAndTrailer (void)
|
||||
void ValidateNumberOfRooms (void)
|
||||
{
|
||||
long countedRooms, reportsRooms;
|
||||
char wasState;
|
||||
|
||||
reportsRooms = (long)(*thisHouse)->nRooms;
|
||||
countedRooms = (GetHandleSize(thisHouse.StaticCast<void>()) -
|
||||
@@ -637,7 +634,6 @@ void CheckDuplicateFloorSuite (void)
|
||||
#define kRoomsTimesSuites 8192
|
||||
short i, numRooms, bitPlace;
|
||||
char *pidgeonHoles;
|
||||
char wasState;
|
||||
|
||||
pidgeonHoles = (char *)NewPtrClear(sizeof(char) * kRoomsTimesSuites);
|
||||
if (pidgeonHoles == nil)
|
||||
@@ -672,7 +668,6 @@ void CheckDuplicateFloorSuite (void)
|
||||
void CompressHouse (void)
|
||||
{
|
||||
short wasFirstRoom, roomNumber, probe;
|
||||
char wasState;
|
||||
Boolean compressing, probing;
|
||||
|
||||
wasFirstRoom = (*thisHouse)->firstRoom;
|
||||
@@ -720,7 +715,6 @@ void LopOffExtraRooms (void)
|
||||
{
|
||||
long newSize;
|
||||
short r, count;
|
||||
char wasState;
|
||||
Str255 message;
|
||||
|
||||
count = 0;
|
||||
@@ -756,7 +750,6 @@ void LopOffExtraRooms (void)
|
||||
void ValidateRoomNumbers (void)
|
||||
{
|
||||
short i, numRooms;
|
||||
char wasState;
|
||||
Str255 message;
|
||||
|
||||
numRooms = (*thisHouse)->nRooms;
|
||||
@@ -796,7 +789,6 @@ void ValidateRoomNumbers (void)
|
||||
void CountUntitledRooms (void)
|
||||
{
|
||||
short i, numRooms;
|
||||
char wasState;
|
||||
|
||||
numRooms = (*thisHouse)->nRooms;
|
||||
for (i = 0; i < numRooms; i++)
|
||||
@@ -814,7 +806,6 @@ void CountUntitledRooms (void)
|
||||
void CheckRoomNameLength (void)
|
||||
{
|
||||
short i, numRooms;
|
||||
char wasState;
|
||||
|
||||
numRooms = (*thisHouse)->nRooms;
|
||||
for (i = 0; i < numRooms; i++)
|
||||
@@ -837,7 +828,6 @@ void CheckRoomNameLength (void)
|
||||
void MakeSureNumObjectsJives (void)
|
||||
{
|
||||
short i, h, numRooms, count;
|
||||
char wasState;
|
||||
|
||||
numRooms = (*thisHouse)->nRooms;
|
||||
for (i = 0; i < numRooms; i++)
|
||||
@@ -866,7 +856,6 @@ void MakeSureNumObjectsJives (void)
|
||||
void KeepAllObjectsLegal (void)
|
||||
{
|
||||
short i, h, numRooms;
|
||||
char wasState;
|
||||
Str255 message;
|
||||
|
||||
numRooms = (*thisHouse)->nRooms;
|
||||
@@ -901,7 +890,6 @@ void KeepAllObjectsLegal (void)
|
||||
void CheckForStaircasePairs (void)
|
||||
{
|
||||
short i, h, g, numRooms, neighbor;
|
||||
char wasState;
|
||||
Boolean hasStairs;
|
||||
Str255 message;
|
||||
|
||||
|
@@ -176,8 +176,6 @@ void RecomputeInterfaceRects (void)
|
||||
|
||||
void VariableInit (void)
|
||||
{
|
||||
short i;
|
||||
|
||||
menusUp = false;
|
||||
quitting = false;
|
||||
houseOpen = false;
|
||||
|
@@ -1127,7 +1127,7 @@ void GpDisplayDriverD3D11::Run()
|
||||
HMENU menus = NULL;
|
||||
|
||||
// TODO: Fix the resolution here
|
||||
RECT wr = { 0, 0, m_windowWidthPhysical, m_windowHeightPhysical };
|
||||
RECT wr = { 0, 0, static_cast<DWORD>(m_windowWidthPhysical), static_cast<DWORD>(m_windowHeightPhysical) };
|
||||
AdjustWindowRect(&wr, windowStyle, menus != NULL);
|
||||
|
||||
m_osGlobals->m_hwnd = CreateWindowExW(NULL, L"GPD3D11WindowClass", GP_APPLICATION_NAME_W, WS_OVERLAPPEDWINDOW, 300, 300, wr.right - wr.left, wr.bottom - wr.top, NULL, menus, m_osGlobals->m_hInstance, NULL);
|
||||
|
@@ -11,14 +11,14 @@
|
||||
void GpDisplayDriverSurfaceD3D11::Upload(const void *data, size_t x, size_t y, size_t width, size_t height, size_t pitch)
|
||||
{
|
||||
D3D11_BOX box;
|
||||
box.left = x;
|
||||
box.right = x + width;
|
||||
box.top = y;
|
||||
box.bottom = y + height;
|
||||
box.left = static_cast<UINT>(x);
|
||||
box.right = static_cast<UINT>(x + width);
|
||||
box.top = static_cast<UINT>(y);
|
||||
box.bottom = static_cast<UINT>(y + height);
|
||||
box.front = 0;
|
||||
box.back = 1;
|
||||
|
||||
m_deviceContext->UpdateSubresource(m_texture, 0, &box, data, pitch, height * pitch);
|
||||
m_deviceContext->UpdateSubresource(m_texture, 0, &box, data, pitch, static_cast<UINT>(height * pitch));
|
||||
}
|
||||
|
||||
void GpDisplayDriverSurfaceD3D11::UploadEntire(const void *data, size_t pitch)
|
||||
|
@@ -56,7 +56,7 @@ namespace PortabilityLayer
|
||||
for (size_t i = 0; i < 256; i++)
|
||||
{
|
||||
PortabilityLayer::RGBAColor &color = m_palette[i];
|
||||
color.r = color.g = color.b = i;
|
||||
color.r = color.g = color.b = static_cast<uint8_t>(i);
|
||||
color.a = 255;
|
||||
}
|
||||
}
|
||||
|
@@ -159,7 +159,7 @@ namespace PortabilityLayer
|
||||
{
|
||||
CacheHeader header;
|
||||
header.m_cacheVersion = kRFontCacheVersion;
|
||||
header.m_glyphDataSize = this->m_dataSize;
|
||||
header.m_glyphDataSize = static_cast<uint32_t>(this->m_dataSize);
|
||||
header.m_isAA = m_isAntiAliased;
|
||||
header.m_sizeSize = sizeof(size_t);
|
||||
|
||||
|
@@ -75,8 +75,8 @@ namespace PortabilityLayer
|
||||
mb2Header[MB2FileOffsets::Protected] = fileInfo.m_properties.m_protected;
|
||||
BytePack::BigUInt32(mb2Header + MB2FileOffsets::DataForkSize, fileInfo.m_dataForkSize);
|
||||
BytePack::BigUInt32(mb2Header + MB2FileOffsets::ResourceForkSize, fileInfo.m_resourceForkSize);
|
||||
BytePack::BigUInt32(mb2Header + MB2FileOffsets::CreationDate, fileInfo.m_properties.m_creationDate);
|
||||
BytePack::BigUInt32(mb2Header + MB2FileOffsets::ModifiedDate, fileInfo.m_properties.m_modifiedDate);
|
||||
BytePack::BigUInt32(mb2Header + MB2FileOffsets::CreationDate, static_cast<uint32_t>(fileInfo.m_properties.m_creationDate));
|
||||
BytePack::BigUInt32(mb2Header + MB2FileOffsets::ModifiedDate, static_cast<uint32_t>(fileInfo.m_properties.m_modifiedDate));
|
||||
|
||||
BytePack::BigUInt16(mb2Header + MB2FileOffsets::CommentLength, fileInfo.m_commentSize);
|
||||
mb2Header[MB2FileOffsets::FinderFlagsLow] = static_cast<uint8_t>(fileInfo.m_properties.m_finderFlags & 0xff);
|
||||
|
@@ -68,7 +68,7 @@ namespace
|
||||
|
||||
struct MenuItem
|
||||
{
|
||||
uint32_t nameOffsetInStringBlob;
|
||||
size_t nameOffsetInStringBlob;
|
||||
int8_t iconResID;
|
||||
uint8_t key;
|
||||
uint8_t submenuID;
|
||||
@@ -1055,7 +1055,7 @@ namespace PortabilityLayer
|
||||
int32_t yCoordinate = 0;
|
||||
if (!m_menuSelectionState.IsPopup())
|
||||
{
|
||||
xCoordinate = kMenuBarInitialPadding + selectedMenu->menuIndex * kMenuBarItemPadding * 2 + selectedMenu->cumulativeOffset - kMenuBarItemPadding;
|
||||
xCoordinate = static_cast<int32_t>(kMenuBarInitialPadding + selectedMenu->menuIndex * kMenuBarItemPadding * 2 + selectedMenu->cumulativeOffset - kMenuBarItemPadding);
|
||||
yCoordinate = kMenuBarHeight;
|
||||
}
|
||||
else
|
||||
@@ -1385,7 +1385,7 @@ namespace PortabilityLayer
|
||||
m_popupPosition.m_y = kMenuBarHeight;
|
||||
else
|
||||
{
|
||||
int32_t popupBottom = m_popupPosition.m_y + menu->layoutFinalHeight;
|
||||
int32_t popupBottom = static_cast<int32_t>(m_popupPosition.m_y + menu->layoutFinalHeight);
|
||||
|
||||
unsigned int displayHeight = 0;
|
||||
PortabilityLayer::HostDisplayDriver::GetInstance()->GetDisplayResolution(nullptr, &displayHeight);
|
||||
@@ -1486,18 +1486,18 @@ namespace PortabilityLayer
|
||||
ResolveCachingColor barMidColor = gs_barMidColor;
|
||||
|
||||
{
|
||||
const Rect rect = Rect::Create(0, 0, menu->layoutFinalHeight, menu->layoutWidth);
|
||||
const Rect rect = Rect::Create(0, 0, static_cast<int16_t>(menu->layoutFinalHeight), menu->layoutWidth);
|
||||
surface->FillRect(rect, barMidColor);
|
||||
|
||||
ResolveCachingColor whiteColor = StdColors::White();
|
||||
|
||||
surface->FillRect(Rect::Create(0, 0, 1, menu->layoutWidth - 1), whiteColor);
|
||||
surface->FillRect(Rect::Create(1, 0, menu->layoutFinalHeight - 1, 1), whiteColor);
|
||||
surface->FillRect(Rect::Create(0, 0, 1, static_cast<int16_t>(menu->layoutWidth - 1)), whiteColor);
|
||||
surface->FillRect(Rect::Create(1, 0, static_cast<int16_t>(menu->layoutFinalHeight - 1), 1), whiteColor);
|
||||
|
||||
ResolveCachingColor darkGrayColor = RGBAColor::Create(kDarkGray, kDarkGray, kDarkGray, 255);
|
||||
|
||||
surface->FillRect(Rect::Create(1, menu->layoutWidth - 1, menu->layoutFinalHeight, menu->layoutWidth), darkGrayColor);
|
||||
surface->FillRect(Rect::Create(menu->layoutFinalHeight - 1, 1, menu->layoutFinalHeight, menu->layoutWidth - 1), darkGrayColor);
|
||||
surface->FillRect(Rect::Create(1, static_cast<int16_t>(menu->layoutWidth - 1), static_cast<int16_t>(menu->layoutFinalHeight), static_cast<int16_t>(menu->layoutWidth)), darkGrayColor);
|
||||
surface->FillRect(Rect::Create(static_cast<int16_t>(menu->layoutFinalHeight - 1), 1, static_cast<int16_t>(menu->layoutFinalHeight), static_cast<int16_t>(menu->layoutWidth - 1)), darkGrayColor);
|
||||
}
|
||||
|
||||
PortabilityLayer::RenderedFont *sysFont = GetSystemFont(kMenuFontSize, PortabilityLayer::FontFamilyFlag_Bold, true);
|
||||
|
@@ -1,71 +1,71 @@
|
||||
#include <stdio.h>
|
||||
|
||||
/*
|
||||
Copyright 2019 Eric Lasota
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy of
|
||||
this software and associated documentation files (the "Software"), to deal in
|
||||
the Software without restriction, including without limitation the rights to
|
||||
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
|
||||
of the Software, and to permit persons to whom the Software is furnished to do
|
||||
so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
||||
*/
|
||||
|
||||
#include "CFileStream.h"
|
||||
#include "ScopedPtr.h"
|
||||
#include "BinHex4.h"
|
||||
#include "MacBinary2.h"
|
||||
#include "MacFileMem.h"
|
||||
|
||||
#include <string>
|
||||
|
||||
using namespace PortabilityLayer;
|
||||
|
||||
int main(int argc, const char **argv)
|
||||
{
|
||||
if (argc != 4)
|
||||
{
|
||||
fprintf(stderr, "Usage: hqx2gp <input.hqx> <input.ts> <output>");
|
||||
return -1;
|
||||
}
|
||||
|
||||
#ifdef _CRT_INSECURE_DEPRECATE
|
||||
FILE *f = nullptr;
|
||||
if (fopen_s(&f, argv[1], "rb"))
|
||||
f = nullptr;
|
||||
#else
|
||||
FILE *f = fopen(argv[1], "rb");
|
||||
#endif
|
||||
|
||||
if (!f)
|
||||
{
|
||||
fprintf(stderr, "Could not open input file");
|
||||
return -1;
|
||||
}
|
||||
|
||||
#ifdef _CRT_INSECURE_DEPRECATE
|
||||
FILE *tsF = nullptr;
|
||||
if (fopen_s(&tsF, argv[2], "rb"))
|
||||
tsF = nullptr;
|
||||
#else
|
||||
FILE *tsF = fopen(argv[2], "rb");
|
||||
#endif
|
||||
|
||||
if (!tsF)
|
||||
{
|
||||
fprintf(stderr, "Could not open timestamp file");
|
||||
return -1;
|
||||
#include <stdio.h>
|
||||
|
||||
/*
|
||||
Copyright 2019 Eric Lasota
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy of
|
||||
this software and associated documentation files (the "Software"), to deal in
|
||||
the Software without restriction, including without limitation the rights to
|
||||
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
|
||||
of the Software, and to permit persons to whom the Software is furnished to do
|
||||
so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
||||
*/
|
||||
|
||||
#include "CFileStream.h"
|
||||
#include "ScopedPtr.h"
|
||||
#include "BinHex4.h"
|
||||
#include "MacBinary2.h"
|
||||
#include "MacFileMem.h"
|
||||
|
||||
#include <string>
|
||||
|
||||
using namespace PortabilityLayer;
|
||||
|
||||
int main(int argc, const char **argv)
|
||||
{
|
||||
if (argc != 4)
|
||||
{
|
||||
fprintf(stderr, "Usage: hqx2gp <input.hqx> <input.ts> <output>");
|
||||
return -1;
|
||||
}
|
||||
|
||||
#ifdef _CRT_INSECURE_DEPRECATE
|
||||
FILE *f = nullptr;
|
||||
if (fopen_s(&f, argv[1], "rb"))
|
||||
f = nullptr;
|
||||
#else
|
||||
FILE *f = fopen(argv[1], "rb");
|
||||
#endif
|
||||
|
||||
if (!f)
|
||||
{
|
||||
fprintf(stderr, "Could not open input file");
|
||||
return -1;
|
||||
}
|
||||
|
||||
#ifdef _CRT_INSECURE_DEPRECATE
|
||||
FILE *tsF = nullptr;
|
||||
if (fopen_s(&tsF, argv[2], "rb"))
|
||||
tsF = nullptr;
|
||||
#else
|
||||
FILE *tsF = fopen(argv[2], "rb");
|
||||
#endif
|
||||
|
||||
if (!tsF)
|
||||
{
|
||||
fprintf(stderr, "Could not open timestamp file");
|
||||
return -1;
|
||||
}
|
||||
|
||||
int64_t timestamp = 0;
|
||||
@@ -81,70 +81,70 @@ int main(int argc, const char **argv)
|
||||
for (int i = 0; i < 8; i++)
|
||||
timestamp |= static_cast<int64_t>(encodedTimestamp[i]) << (i * 8);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
fclose(tsF);
|
||||
|
||||
CFileStream fs(f, true, false, true);
|
||||
|
||||
ScopedPtr<MacFileMem> memFile = BinHex4::LoadHQX(&fs);
|
||||
|
||||
fs.Close();
|
||||
|
||||
std::string fname = argv[3];
|
||||
|
||||
fclose(tsF);
|
||||
|
||||
CFileStream fs(f, true, false, true);
|
||||
|
||||
ScopedPtr<MacFileMem> memFile = BinHex4::LoadHQX(&fs);
|
||||
|
||||
fs.Close();
|
||||
|
||||
std::string fname = argv[3];
|
||||
|
||||
const char* extensions[] = { ".gpf", ".gpr", ".gpd", ".gpc" };
|
||||
|
||||
MacFileProperties mfp = memFile->FileInfo().m_properties;
|
||||
mfp.m_creationDate = mfp.m_modifiedDate = timestamp;
|
||||
|
||||
MacFilePropertiesSerialized sp;
|
||||
sp.Serialize(mfp);
|
||||
|
||||
for (int i = 0; i < 4; i++)
|
||||
{
|
||||
const void *bufferToWrite = nullptr;
|
||||
size_t sizeToWrite = 0;
|
||||
|
||||
switch (i)
|
||||
{
|
||||
case 0:
|
||||
bufferToWrite = sp.m_data;
|
||||
sizeToWrite = sp.kSize;
|
||||
break;
|
||||
case 1:
|
||||
bufferToWrite = memFile->ResourceFork();
|
||||
sizeToWrite = memFile->FileInfo().m_resourceForkSize;
|
||||
break;
|
||||
case 2:
|
||||
bufferToWrite = memFile->DataFork();
|
||||
sizeToWrite = memFile->FileInfo().m_dataForkSize;
|
||||
break;
|
||||
case 3:
|
||||
bufferToWrite = memFile->Comment();
|
||||
sizeToWrite = memFile->FileInfo().m_commentSize;
|
||||
break;
|
||||
};
|
||||
|
||||
if (sizeToWrite == 0)
|
||||
continue;
|
||||
|
||||
std::string path = fname + extensions[i];
|
||||
|
||||
#ifdef _CRT_INSECURE_DEPRECATE
|
||||
FILE *outF = nullptr;
|
||||
if (fopen_s(&outF, path.c_str(), "wb"))
|
||||
outF = nullptr;
|
||||
#else
|
||||
FILE *outF = fopen(path.c_str(), "wb");
|
||||
#endif
|
||||
|
||||
if (!outF)
|
||||
continue;
|
||||
|
||||
fwrite(bufferToWrite, 1, sizeToWrite, outF);
|
||||
fclose(outF);
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
mfp.m_creationDate = mfp.m_modifiedDate = timestamp;
|
||||
|
||||
MacFilePropertiesSerialized sp;
|
||||
sp.Serialize(mfp);
|
||||
|
||||
for (int i = 0; i < 4; i++)
|
||||
{
|
||||
const void *bufferToWrite = nullptr;
|
||||
size_t sizeToWrite = 0;
|
||||
|
||||
switch (i)
|
||||
{
|
||||
case 0:
|
||||
bufferToWrite = sp.m_data;
|
||||
sizeToWrite = sp.kSize;
|
||||
break;
|
||||
case 1:
|
||||
bufferToWrite = memFile->ResourceFork();
|
||||
sizeToWrite = memFile->FileInfo().m_resourceForkSize;
|
||||
break;
|
||||
case 2:
|
||||
bufferToWrite = memFile->DataFork();
|
||||
sizeToWrite = memFile->FileInfo().m_dataForkSize;
|
||||
break;
|
||||
case 3:
|
||||
bufferToWrite = memFile->Comment();
|
||||
sizeToWrite = memFile->FileInfo().m_commentSize;
|
||||
break;
|
||||
};
|
||||
|
||||
if (sizeToWrite == 0)
|
||||
continue;
|
||||
|
||||
std::string path = fname + extensions[i];
|
||||
|
||||
#ifdef _CRT_INSECURE_DEPRECATE
|
||||
FILE *outF = nullptr;
|
||||
if (fopen_s(&outF, path.c_str(), "wb"))
|
||||
outF = nullptr;
|
||||
#else
|
||||
FILE *outF = fopen(path.c_str(), "wb");
|
||||
#endif
|
||||
|
||||
if (!outF)
|
||||
continue;
|
||||
|
||||
fwrite(bufferToWrite, 1, sizeToWrite, outF);
|
||||
fclose(outF);
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
Reference in New Issue
Block a user