# Define compilers.
CC = clang++
-CPPFLAGS = -c -O3 -Wall -Wextra -fno-exceptions -fno-rtti -fPIC `wx-config --cxxflags` -std=c++11
+CPPFLAGS = -c -O3 -std=c++11 -Wall -Wextra -fno-exceptions -fno-rtti -fPIC `wx-config --cxxflags`
LDFLAGS = -s -flto
# Check the architecture.
rm -f -r $(FULL_OBJS) $(FULL_EXE)
$(FULL_EXE): $(FULL_OBJS) $(IN_ADD)
- $(CC) $(LDFLAGS) -o $(FULL_EXE) $(FULL_OBJS) `wx-config --libs`
+ $(CC) $(LDFLAGS) -o $(FULL_EXE) $(FULL_OBJS) `wx-config --libs core,xrc`
$(FULL_OBJ)/%.o: %.cpp
$(CC) $(CPPFLAGS) -o $@ $<
// Class (TPIHandle)\r
//******************************************************************************\r
\r
-TPIHandle::TPIHandle(void) : nErrorCode(TPI_ERROR_SUCCESS), bHandleOnCommand(1), archive(NULL)\r
+TPIHandle::TPIHandle(void) : nErrorCode(TPI_ERROR_SUCCESS), bHandleOnCommand(1), archive(nullptr)\r
{\r
}\r
\r
}\r
\r
GetAPIAddress("FreePlugin", p);\r
- this->nErrorCode = ((int (__stdcall *)(void *)) p)(NULL);\r
+ this->nErrorCode = ((int (__stdcall *)(void *)) p)(nullptr);\r
\r
this->lib.Unload();\r
- this->archive = NULL;\r
+ this->archive = nullptr;\r
return this->nErrorCode == TPI_ERROR_SUCCESS;\r
}\r
\r
_fiInfo->szTPIName.Empty();\r
_fiInfo->eSupportedCommand = 0;\r
_fiInfo->nTypeId = 0;\r
- _fiInfo->pCustomInfo = NULL;\r
+ _fiInfo->pCustomInfo = nullptr;\r
\r
GetAPIAddress("GetFormatInformation", p);\r
this->nErrorCode = ((int (__stdcall *)(TPI_FORMATINFO *, bool)) p)(_fiInfo, _bFirst);\r
\r
bool TPIHandle::CloseArchive(void)\r
{\r
- if (this->archive == NULL)\r
+ if (this->archive == nullptr)\r
{\r
return false;\r
}\r
this->nErrorCode = TPI_ERROR_SUCCESS;\r
GetAPIAddress("CloseArchive", p);\r
this->nErrorCode = ((int (__stdcall *)(void *)) p)(this->archive);\r
- this->archive = NULL;\r
+ this->archive = nullptr;\r
return this->nErrorCode == TPI_ERROR_SUCCESS;\r
}\r
\r
_fiInfo->szUser.Empty();\r
_fiInfo->szGroup.Empty();\r
_fiInfo->nFileId = 0;\r
- _fiInfo->pCustomInfo = NULL;\r
+ _fiInfo->pCustomInfo = nullptr;\r
\r
GetAPIAddress("GetFileInformation", p);\r
this->nErrorCode = ((int (__stdcall *)(void *, TPI_FILEINFO *, bool)) p)(this->archive, _fiInfo, _bFirst);\r
_aiInfo->fnArchive.Clear();\r
_aiInfo->szComment.Empty();\r
_aiInfo->wCompressRatio = 0;\r
- _aiInfo->pCustomInfo = NULL;\r
+ _aiInfo->pCustomInfo = nullptr;\r
// FORMATINFO\r
_aiInfo->fiInfo.fComment = false;\r
_aiInfo->fiInfo.fCompressHeader = false;\r
_aiInfo->fiInfo.szTPIName.Empty();\r
_aiInfo->fiInfo.eSupportedCommand = 0;\r
_aiInfo->fiInfo.nTypeId = 0;\r
- _aiInfo->fiInfo.pCustomInfo = NULL;\r
+ _aiInfo->fiInfo.pCustomInfo = nullptr;\r
\r
GetAPIAddress("GetArchiveInformation", p);\r
this->nErrorCode = ((int (__stdcall *)(void *, TPI_ARCHIVEINFO *)) p)(this->archive, _aiInfo);\r
public:\r
TPIHandle(void);\r
~TPIHandle(void);\r
- bool InitLibrary(const wxString & _szLibName, const wxString & _szArcName, TPI_PROC _prProc = NULL, wxULongLong_t _llTypeId = 0);\r
+ bool InitLibrary(const wxString & _szLibName, const wxString & _szArcName, TPI_PROC _prProc = nullptr, wxULongLong_t _llTypeId = 0);\r
bool FreeLibrary(void);\r
\r
bool GetPluginInformation(unsigned int _uInfoId, wxULongLong_t _llSubOption, void * _pPtr);\r
bool GetFormatInformation(TPI_FORMATINFO * _fiInfo, bool _bFirst = false);\r
\r
- bool OpenArchive(const wxString & _szArcName, wxULongLong_t * _llFileCount = NULL);\r
+ bool OpenArchive(const wxString & _szArcName, wxULongLong_t * _llFileCount = nullptr);\r
bool CloseArchive(void);\r
bool GetFileInformation(TPI_FILEINFO * _fiInfo, bool _bFirst = false);\r
bool GetArchiveInformation(TPI_ARCHIVEINFO * _aiInfo);\r
);\r
\r
/** プラグインを使用するための初期化を行う。\r
- * @param _szArcName これから操作する対象となる書庫名。不明な場合はNULLを指定。\r
+ * @param _szArcName これから操作する対象となる書庫名。不明な場合はwxEmptyStringを指定。\r
* @param _prProc コールバック関数へのポインタ。\r
* @param _nTypeId 書庫を作成する場合には、その格納形式IDを指定。それ以外の場合は0。\r
* @return エラーコード。\r
);\r
\r
/** プラグインを解放する。\r
- * @param _pReserved 予約済み。現状では常にNULL。\r
+ * @param _pReserved 予約済み。現状では常にnullptr。\r
* @return エラーコード。\r
*/\r
int __stdcall FreePlugin\r
(\r
- void * _pReserved = NULL\r
+ void * _pReserved = nullptr\r
);\r
\r
/** 書庫のハンドルを取得する。\r
* @param _szArcName 操作する対象となる書庫名。\r
* @param _hArchive 取得したハンドルを格納するためのポインタ。\r
- * @param _nFileCount 書庫に格納されているファイル数を格納するためのポインタ。情報が不要ならばNULLを指定。\r
+ * @param _nFileCount 書庫に格納されているファイル数を格納するためのポインタ。情報が不要ならばnullptrを指定。\r
* @return エラーコード。\r
*/\r
int __stdcall OpenArchive\r
(\r
const wxString & _szArcName,\r
void * * _hArchive,\r
- wxULongLong_t * _nFileCount = NULL\r
+ wxULongLong_t * _nFileCount = nullptr\r
);\r
\r
/** 書庫のハンドルを解放する。\r
/** 各種の書庫操作を行う。\r
* @param _eCommand 書庫操作の種類を表すコマンドコード。\r
* @param _swInfo 書庫操作に必要な情報を格納した構造体へのポインタ。\r
- * @param _hArchive 操作する対象となる書庫ハンドル。書庫を作成するときはNULL。\r
+ * @param _hArchive 操作する対象となる書庫ハンドル。書庫を作成するときはnullptr。\r
* @param _szFiles 対象ファイル名のリスト。\r
* @return エラーコード。\r
* @sa c_command\r
// Functions\r
//******************************************************************************\r
\r
-wxString MakeCommandLineSend(const wxString & szCommandLine, TPI_SWITCHES * swInfo = NULL, const wxArrayString & asFiles = wxArrayString(), const wxString & szResponceFileName = wxEmptyString);\r
+wxString MakeCommandLineSend(const wxString & szCommandLine, TPI_SWITCHES * swInfo = nullptr, const wxArrayString & asFiles = wxArrayString(), const wxString & szResponceFileName = wxEmptyString);\r
wxString MakeResponceFile(const wxArrayString & asFiles, bool bQuote, bool bUnicode = false);\r
wxString MB2String(const char * sz);\r
wxString UTF82String(const char * sz);\r
{\r
#ifdef __WINDOWS__\r
static void * p = (void *) ::GetProcAddress(::GetModuleHandleW(L"kernel32.dll"), "SetDllDirectoryW");\r
- if (p != NULL)\r
+ if (p != nullptr)\r
{\r
((int (__stdcall *)(const wchar_t *)) p)(L"");\r
}\r
{\r
if (! xmlDoc->IsOk())\r
{\r
- return NULL;\r
+ return nullptr;\r
}\r
wxXmlNode * n = xmlDoc->GetRoot()->GetChildren();\r
- return (n == NULL || myIsLib(n)) ? (nLibIndex <= 0 ? n : myGetNextLib(n, nLibIndex - 1)) : myGetNextLib(n, nLibIndex);\r
+ return (n == nullptr || myIsLib(n)) ? (nLibIndex <= 0 ? n : myGetNextLib(n, nLibIndex - 1)) : myGetNextLib(n, nLibIndex);\r
}\r
\r
wxXmlNode * myGetNextLib(wxXmlNode * n, int nLibIndex)\r
{\r
n = n->GetNext();\r
- return (n == NULL || myIsLib(n)) ? (nLibIndex <= 0 ? n : myGetNextLib(n, nLibIndex - 1)) : myGetNextLib(n, nLibIndex);\r
+ return (n == nullptr || myIsLib(n)) ? (nLibIndex <= 0 ? n : myGetNextLib(n, nLibIndex - 1)) : myGetNextLib(n, nLibIndex);\r
}\r
\r
wxULongLong_t myGetAttributeInt(wxXmlNode * n, const wxString & szValue, wxULongLong_t nDefaultValue, int nBase)\r
TPI_FILEINFO * fi = (TPI_FILEINFO *) this->apShowFile[i];\r
return\r
fi->eDanger ? (wxListItemAttr *) & this->atDangerItem :\r
- fi->dwAttribute & TPI_ATTRIBUTE_ENCRYPTED ? (wxListItemAttr *) & this->atEncryptedItem : NULL;\r
+ fi->dwAttribute & TPI_ATTRIBUTE_ENCRYPTED ? (wxListItemAttr *) & this->atEncryptedItem : nullptr;\r
}\r
\r
void myListCtrl::OnColClick(wxListEvent& e)\r
}\r
else\r
{\r
- this->lcFiles->apItem.Add(fn.FileExists() || ::wxDirExists(fn.GetFullPath()) ? & this->lcFiles->atExistItem : NULL);\r
+ this->lcFiles->apItem.Add(fn.FileExists() || ::wxDirExists(fn.GetFullPath()) ? & this->lcFiles->atExistItem : nullptr);\r
}\r
this->lcFiles->asOutput.Add(fn.GetFullPath());\r
}\r
}\r
else\r
{\r
- this->lcFiles->apItem.Add(NULL);\r
+ this->lcFiles->apItem.Add(nullptr);\r
}\r
}\r
break;\r
#include "frm_main.h"\r
#include "functions.h"\r
\r
-ProcessDialog * g_procDlg = NULL;\r
+ProcessDialog * g_procDlg = nullptr;\r
\r
//******************************************************************************\r
// ProcessDialog\r
}\r
\r
#ifdef __WINDOWS__\r
- if (this->tlTaskbar != NULL)\r
+ if (this->tlTaskbar != nullptr)\r
{\r
this->tlTaskbar->SetProgressState(this->hTBWnd, TBPF_NOPROGRESS);\r
this->tlTaskbar->Release();\r
}\r
#endif\r
((MainFrame *) this->hParent)->gFrame->Show(false);\r
- g_procDlg = NULL;\r
+ g_procDlg = nullptr;\r
}\r
\r
//******************************************************************************\r
// タスクバー。\r
this->hTBWnd = frm_main->GetHandle();\r
\r
- ::CoCreateInstance(CLSID_TaskbarList, NULL, CLSCTX_INPROC_SERVER, IID_ITaskbarList3, (void **) & this->tlTaskbar);\r
- if (this->tlTaskbar != NULL)\r
+ ::CoCreateInstance(CLSID_TaskbarList, nullptr, CLSCTX_INPROC_SERVER, IID_ITaskbarList3, (void **) & this->tlTaskbar);\r
+ if (this->tlTaskbar != nullptr)\r
{\r
this->tlTaskbar->HrInit();\r
}\r
}\r
\r
TPI_PROCESSINFO * piInfo = (TPI_PROCESSINFO *) _pStructure;\r
- if (piInfo == NULL)\r
+ if (piInfo == nullptr)\r
{\r
return TPI_CALLBACK_CONTINUE;\r
}\r
((MainFrame *) this->hParent)->gFrame->SetValue(s_nProcess);\r
}\r
#ifdef __WINDOWS__\r
- if (this->tlTaskbar != NULL)\r
+ if (this->tlTaskbar != nullptr)\r
{\r
this->tlTaskbar->SetProgressValue(this->hTBWnd, s_nProcess, s_nFileCount);\r
}\r
}\r
((MainFrame *) this->hParent)->gFrame->SetValue(piInfo->nProcessedSize);\r
#ifdef __WINDOWS__\r
- if (this->tlTaskbar != NULL)\r
+ if (this->tlTaskbar != nullptr)\r
{\r
this->tlTaskbar->SetProgressValue(this->hTBWnd, piInfo->nProcessedSize, s_nFileCount);\r
}\r
case TPI_MESSAGE_ASK:\r
{\r
#ifdef __WINDOWS__\r
- if (this->tlTaskbar != NULL)\r
+ if (this->tlTaskbar != nullptr)\r
{\r
this->tlTaskbar->SetProgressState(this->hTBWnd, TBPF_PAUSED);\r
}\r
return TPI_CALLBACK_UNSUPPORTED;\r
}\r
#ifdef __WINDOWS__\r
- if (this->tlTaskbar != NULL)\r
+ if (this->tlTaskbar != nullptr)\r
{\r
this->tlTaskbar->SetProgressState(this->hTBWnd, TBPF_NORMAL);\r
}\r
\r
int __stdcall TPICallbackProc(unsigned int _uMsg, void * _pStructure)\r
{\r
- return g_procDlg == NULL ? TPI_CALLBACK_CONTINUE : g_procDlg->CallbackProc(_uMsg, _pStructure);\r
+ return g_procDlg == nullptr ? TPI_CALLBACK_CONTINUE : g_procDlg->CallbackProc(_uMsg, _pStructure);\r
}\r
// MainFrame\r
//******************************************************************************\r
\r
-MainFrame::MainFrame(): wxFrame(), gFrame(NULL)\r
+MainFrame::MainFrame(): wxFrame(), gFrame(nullptr)\r
{\r
}\r
\r
\r
void MainFrame::OnClose(wxCloseEvent& e)\r
{\r
- if (e.CanVeto() && g_procDlg != NULL)\r
+ if (e.CanVeto() && g_procDlg != nullptr)\r
{\r
g_procDlg->OnClose(e);\r
e.Veto();\r
void MainFrame::OnSize(wxSizeEvent& e)\r
{\r
// プログレスバーの位置を変更。\r
- if (this->gFrame != NULL)\r
+ if (this->gFrame != nullptr)\r
{\r
this->gFrame->SetPosition(wxPoint(this->statusbar->GetSize().GetWidth() - 230, 10));\r
}\r
void MainFrame::OnArcCreate(wxCommandEvent& e)\r
{\r
TPI_SWITCHES swInfo;\r
- swInfo.pCustomSwitches = NULL;\r
+ swInfo.pCustomSwitches = nullptr;\r
\r
// 作成ダイアログを設定。\r
MakeDialog mkDlg(this, TPI_COMMAND_CREATE);\r
- if (e.GetClientData() == NULL)\r
+ if (e.GetClientData() == nullptr)\r
{\r
if (::wxGetKeyState(WXK_SHIFT))\r
{\r
MakeDialog mkDlg(this, TPI_COMMAND_ADD);\r
\r
TPI_SWITCHES swInfo;\r
- swInfo.pCustomSwitches = NULL;\r
+ swInfo.pCustomSwitches = nullptr;\r
\r
- if (e.GetClientData() == NULL)\r
+ if (e.GetClientData() == nullptr)\r
{\r
if (::wxGetKeyState(WXK_SHIFT))\r
{\r
{\r
TPI_SWITCHES swInfo;\r
swInfo.szArcName = this->fnArchive.GetFullPath();\r
- swInfo.pCustomSwitches = NULL;\r
+ swInfo.pCustomSwitches = nullptr;\r
swInfo.szPassword = this->szPassword;\r
\r
// モード取得。通常は0, 実行なら1, ファイルDnDなら2、ディレクトリDnDなら3、クリップボードなら4、コンテキストメニューからなら8。\r
nMode = 0;\r
}\r
// 実行時のみ使用。\r
- wxFileType * ftFile = NULL;\r
+ wxFileType * ftFile = nullptr;\r
\r
// 展開ダイアログを作成。DnDまたは実行時は表示しない。\r
MakeDialog mkDlg(this, TPI_COMMAND_EXTRACT);\r
\r
// コマンドを実行。\r
wxString szTempFile = swInfo.fnDestinationDirectory.GetPathWithSep() + wxFileName(mkDlg.files[0], wxPATH_DOS).GetFullName();\r
- bool fSuccess = tpi.nErrorCode == TPI_ERROR_SUCCESS && ftFile != NULL;\r
- myProcess * pCallback = new myProcess(szTempFile, swInfo.fnDestinationDirectory.GetPath());\r
+ bool fSuccess = tpi.nErrorCode == TPI_ERROR_SUCCESS && ftFile != nullptr;\r
+ auto pCallback = new myProcess(szTempFile, swInfo.fnDestinationDirectory.GetPath());\r
if (fSuccess)\r
{\r
#ifdef __LINUX__\r
{\r
// 展開対象を決定。\r
wxArrayString asFiles;\r
- myFileDataObject * objFile = new myFileDataObject();\r
+ auto objFile = new myFileDataObject();\r
objFile->szTempDir = nMode == 3 ? swInfo.fnDestinationDirectory.GetPath() : swInfo.fnDestinationDirectory.GetFullPath();\r
// for (auto s : mkDlg.files)\r
for (size_t n = 0; n < mkDlg.files.GetCount(); n++)\r
else\r
{\r
// 自身にドロップされると煩雑なので、一時的にドロップを受け付けないようにしておく。\r
- this->SetDropTarget(NULL);\r
+ this->SetDropTarget(nullptr);\r
\r
// DnD開始。\r
wxDropSource dropSource(* objFile, this);\r
this->lc.AddCatalogLookupPathPrefix(L_DIR_S_LOC);\r
this->lc.AddCatalog(wxT("lychee"));\r
\r
- MainFrame * frm_main = new MainFrame();\r
+ auto frm_main = new MainFrame();\r
if (! ::wxXmlResource::Get()->Load(L_DIR_S_XRC wxT("frm_main.xrc")))\r
{\r
wxLogError(_("Unable to find XRC!"));\r
return false;\r
}\r
\r
- ::wxXmlResource::Get()->LoadFrame(frm_main, NULL, wxT("frame_main"));\r
+ ::wxXmlResource::Get()->LoadFrame(frm_main, nullptr, wxT("frame_main"));\r
::wxXmlResource::Get()->Unload(L_DIR_S_XRC wxT("frm_main.xrc"));\r
frm_main->InitDialog();\r
\r
}\r
\r
// 書庫を開く。\r
- wxCommandEvent * e = new wxCommandEvent(wxEVT_COMMAND_MENU_SELECTED, XRCID("Arc_Open"));\r
+ auto e = new wxCommandEvent(wxEVT_COMMAND_MENU_SELECTED, XRCID("Arc_Open"));\r
e->SetInt(1);\r
frm_main->fnArchive = wxFileName(wxString(this->argv[1]));\r
frm_main->fnArchive.Normalize(wxPATH_NORM_ALL, szCwd);\r
{\r
return S_FALSE;\r
}\r
- * inStream = NULL;\r
+ * inStream = nullptr;\r
wxString szFileName = this->piInfo.fiInfo.fnFileName.GetPathWithSep() + szName;\r
if (! this->fiInfo.Find(szFileName.c_str()) || fiInfo.IsDir())\r
{\r
return S_FALSE;\r
}\r
\r
- CInFileStream * inFile = new CInFileStream;\r
+ auto inFile = new CInFileStream;\r
CMyComPtr<IInStream> inStreamTemp = inFile;\r
if (! inFile->Open(szFileName.c_str()))\r
{\r
this->piInfo.eMessage = TPI_MESSAGE_ASK;\r
this->piInfo.eStatus = TPI_PARAM_PASSWORD;\r
return\r
- (g_prProc != NULL && g_prProc(TPI_NOTIFY_COMMON, & this->piInfo) == TPI_CALLBACK_CONTINUE) ? ::StringToBstr(this->piInfo.szParam.c_str(), sz) :\r
+ (g_prProc != nullptr && g_prProc(TPI_NOTIFY_COMMON, & this->piInfo) == TPI_CALLBACK_CONTINUE) ? ::StringToBstr(this->piInfo.szParam.c_str(), sz) :\r
E_ABORT;\r
}\r
\r
{\r
this->piInfo.eStatus = TPI_STATUS_INPROCESS;\r
this->piInfo.nProcessedSize = * nProcessed - this->nCurrentPos;\r
- if (g_prProc == NULL || this->piInfo.fiInfo.szStoredName.IsEmpty() || ! this->piInfo.fnDestination.IsOk() || g_prProc(TPI_NOTIFY_COMMON, & this->piInfo) == TPI_CALLBACK_CONTINUE)\r
+ if (g_prProc == nullptr || this->piInfo.fiInfo.szStoredName.IsEmpty() || ! this->piInfo.fnDestination.IsOk() || g_prProc(TPI_NOTIFY_COMMON, & this->piInfo) == TPI_CALLBACK_CONTINUE)\r
{\r
return S_OK;\r
}\r
{\r
this->piInfo.eMessage = TPI_MESSAGE_STATUS;\r
this->piInfo.eStatus = TPI_STATUS_ENDPROCESS;\r
- if (g_prProc != NULL && g_prProc(TPI_NOTIFY_COMMON, & this->piInfo) != TPI_CALLBACK_CONTINUE)\r
+ if (g_prProc != nullptr && g_prProc(TPI_NOTIFY_COMMON, & this->piInfo) != TPI_CALLBACK_CONTINUE)\r
{\r
this->nErrorCode = TPI_ERROR_D_SKIPPED;\r
return E_ABORT;\r
}\r
\r
this->piInfo.fnDestination = wxFileName(swInfo->fnDestinationDirectory.GetFullPath() + wxFileName::GetPathSeparator() + (swInfo->fStoreDirectoryPathes ? this->piInfo.fiInfo.fnFileName.GetPath() : (wxString) wxEmptyString), this->piInfo.fiInfo.fnFileName.GetFullName());\r
- if (g_prProc != NULL && g_prProc(TPI_NOTIFY_COMMON, & this->piInfo) != TPI_CALLBACK_CONTINUE)\r
+ if (g_prProc != nullptr && g_prProc(TPI_NOTIFY_COMMON, & this->piInfo) != TPI_CALLBACK_CONTINUE)\r
{\r
this->nErrorCode = TPI_ERROR_D_SKIPPED;\r
return E_ABORT;\r
// ファイルの基本情報を取得。\r
this->piInfo.eMessage = TPI_MESSAGE_STATUS;\r
this->piInfo.eStatus = TPI_STATUS_BEGINPROCESS;\r
- if (g_prProc != NULL && g_prProc(TPI_NOTIFY_COMMON, & this->piInfo) != TPI_CALLBACK_CONTINUE)\r
+ if (g_prProc != nullptr && g_prProc(TPI_NOTIFY_COMMON, & this->piInfo) != TPI_CALLBACK_CONTINUE)\r
{\r
this->nErrorCode = TPI_ERROR_D_SKIPPED;\r
return E_ABORT;\r
}\r
\r
// 時刻を記録。\r
- if (_outFileStream != NULL)\r
+ if (_outFileStream != nullptr)\r
{\r
FILETIME ftAccess, ftCreate, ftModify;\r
NWindows::NTime::UnixTimeToFileTime(this->piInfo.fiInfo.tmAccess.GetTicks(), ftAccess);\r
this->piInfo.eStatus = TPI_PARAM_PASSWORD;\r
// 次のファイル名が取得できないので、とりあえず空にしておく。\r
this->piInfo.fiInfo.fnFileName.Clear();\r
- return (g_prProc != NULL && g_prProc(TPI_NOTIFY_COMMON, & this->piInfo) == TPI_CALLBACK_CONTINUE) ? ::StringToBstr(this->piInfo.szParam.c_str(), szPassword) : E_ABORT;\r
+ return (g_prProc != nullptr && g_prProc(TPI_NOTIFY_COMMON, & this->piInfo) == TPI_CALLBACK_CONTINUE) ? ::StringToBstr(this->piInfo.szParam.c_str(), szPassword) : E_ABORT;\r
}\r
else\r
{\r
{\r
this->piInfo.eStatus = TPI_STATUS_INPROCESS;\r
this->piInfo.nProcessedSize = * nProcessed - this->nCurrentPos;\r
- if (g_prProc == NULL || this->piInfo.fiInfo.szStoredName.IsEmpty() || g_prProc(TPI_NOTIFY_COMMON, & this->piInfo) == TPI_CALLBACK_CONTINUE)\r
+ if (g_prProc == nullptr || this->piInfo.fiInfo.szStoredName.IsEmpty() || g_prProc(TPI_NOTIFY_COMMON, & this->piInfo) == TPI_CALLBACK_CONTINUE)\r
{\r
return S_OK;\r
}\r
\r
STDMETHODIMP CArchiveUpdateCallback::GetUpdateItemInfo(unsigned int /* index */, int *newData, int *newProperties, unsigned int *indexInArchive)\r
{\r
- if (newData != NULL)\r
+ if (newData != nullptr)\r
{\r
* newData = 1;\r
}\r
- if (newProperties != NULL)\r
+ if (newProperties != nullptr)\r
{\r
* newProperties = 1;\r
}\r
- if (indexInArchive != NULL)\r
+ if (indexInArchive != nullptr)\r
{\r
* indexInArchive = (unsigned) -1;\r
}\r
if (this->nCurrentPos > 0)\r
{\r
this->piInfo.eStatus = TPI_STATUS_ENDPROCESS;\r
- if (g_prProc != NULL && g_prProc(TPI_NOTIFY_COMMON, & this->piInfo) != TPI_CALLBACK_CONTINUE)\r
+ if (g_prProc != nullptr && g_prProc(TPI_NOTIFY_COMMON, & this->piInfo) != TPI_CALLBACK_CONTINUE)\r
{\r
this->nErrorCode = TPI_ERROR_D_SKIPPED;\r
return E_ABORT;\r
this->piInfo.fnDestination = wxFileName(this->piInfo.fiInfo.szStoredName);\r
\r
// コールバック関数に送信。\r
- if (g_prProc != NULL && g_prProc(TPI_NOTIFY_COMMON, & this->piInfo) != TPI_CALLBACK_CONTINUE)\r
+ if (g_prProc != nullptr && g_prProc(TPI_NOTIFY_COMMON, & this->piInfo) != TPI_CALLBACK_CONTINUE)\r
{\r
this->nErrorCode = TPI_ERROR_D_SKIPPED;\r
return E_ABORT;\r
return S_OK;\r
}\r
\r
- CInFileStream * inStreamSpec = new CInFileStream;\r
+ auto inStreamSpec = new CInFileStream;\r
CMyComPtr<ISequentialInStream> inStreamLoc(inStreamSpec);\r
if (! inStreamSpec->Open(this->piInfo.fiInfo.fnFileName.GetFullPath().c_str()))\r
{\r
\r
STDMETHODIMP CArchiveUpdateCallback::GetVolumeStream(unsigned int nIndex, ISequentialOutStream ** volumeStream)\r
{\r
- COutFileStream * streamSpec = new COutFileStream;\r
+ auto streamSpec = new COutFileStream;\r
CMyComPtr<ISequentialOutStream> streamLoc(streamSpec);\r
if (! streamSpec->Create(this->piInfo.fiInfo.fnFileName.GetFullPath() + wxString::Format(wxT(".%03d"), nIndex + 1), false))\r
{\r
void * _pPtr\r
)\r
{\r
- if (_pPtr == NULL)\r
+ if (_pPtr == nullptr)\r
{\r
return TPI_ERROR_D_PARAMETER;\r
}\r
{\r
xmlLibrary = myGetNextLib(xmlLibrary);\r
}\r
- if (xmlLibrary == NULL)\r
+ if (xmlLibrary == nullptr)\r
{\r
// データの終端に達した場合。\r
return TPI_ERROR_S_ENDOFDATA;\r
// xml解析開始。\r
wxXmlDocument xmlDoc(myMakeXMLName(wxT("7zArc")));\r
wxXmlNode * xmlLibrary = myGetFirstLib(& xmlDoc, _nTypeId);\r
- if (xmlLibrary == NULL)\r
+ if (xmlLibrary == nullptr)\r
{\r
// xml文法エラー。\r
return TPI_ERROR_UNDEFINED;\r
}\r
\r
// コールバック関数を設定。\r
- if (_prProc != NULL)\r
+ if (_prProc != nullptr)\r
{\r
g_prProc = * _prProc;\r
}\r
\r
// 対応するライブラリを調査。\r
// 無限ループに陥らないよう上限を設定。\r
- for (g_LibInfo.nLibIndex = 0; g_LibInfo.nLibIndex < 300 && xmlLibrary != NULL; g_LibInfo.nLibIndex++)\r
+ for (g_LibInfo.nLibIndex = 0; g_LibInfo.nLibIndex < 300 && xmlLibrary != nullptr; g_LibInfo.nLibIndex++)\r
{\r
// ライブラリをロード。\r
const GUID guid = {0x23170F69, 0x40C1, 0x278A, {0x10, 0x00, 0x00, 0x01, 0x10, (unsigned char) myGetAttributeInt(xmlLibrary, wxT("name"), 0, 16), 0x00, 0x00}};\r
g_LibInfo.node = * xmlLibrary;\r
\r
// 書庫を開く。\r
- CInFileStream * fileSpec = new CInFileStream;\r
+ auto fileSpec = new CInFileStream;\r
CMyComPtr<IInStream> file = fileSpec;\r
if (! fileSpec->Open(_szArcName.c_str()))\r
{\r
MakeFormatInfo(xmlLibrary, wxT("7zArc"), & fiInfo, g_LibInfo.nLibIndex);\r
\r
// 書庫に対応しているかチェック。\r
- CArchiveOpenCallback * openCallbackSpec = new CArchiveOpenCallback;\r
+ auto openCallbackSpec = new CArchiveOpenCallback;\r
CMyComPtr<IArchiveOpenCallback> openCallback(openCallbackSpec);\r
// SFXを完全に検出するには全体をロードする必要がある。\r
wxULongLong_t nMax = fiInfo.fSFX ? 262114 : 1024;\r
*/\r
if (hArc->Open(file, & nMax, openCallback) == S_OK)\r
{\r
- if (_nFileCount != NULL)\r
+ if (_nFileCount != nullptr)\r
{\r
unsigned int n;\r
hArc->GetNumberOfItems(& n);\r
while (GetFileInformation(_hArchive, & fiInfo) == TPI_ERROR_SUCCESS);\r
}\r
\r
- CArchiveExtractCallback * extractCallbackSpec = new CArchiveExtractCallback((IInArchive *) _hArchive, _swInfo);\r
+ auto extractCallbackSpec = new CArchiveExtractCallback((IInArchive *) _hArchive, _swInfo);\r
extractCallbackSpec->fnArchive = fnArchive;\r
CMyComPtr<IArchiveExtractCallback> extractCallback(extractCallbackSpec);\r
((IInArchive *) _hArchive)->Extract(& nIndexes.Front(), nIndexes.Size(), _eCommand == TPI_COMMAND_TEST, extractCallback);\r
fiItems.Add(fi);\r
}\r
\r
- COutFileStream * outFileStreamSpec = new COutFileStream;\r
+ auto outFileStreamSpec = new COutFileStream;\r
CMyComPtr<IOutStream> outFileStream = outFileStreamSpec;\r
IOutArchive * hArc;\r
if (_eCommand == TPI_COMMAND_CREATE)\r
}\r
\r
// 更新処理を実行。\r
- CArchiveUpdateCallback * updateCallbackSpec = new CArchiveUpdateCallback(_swInfo, & fiItems);\r
+ auto updateCallbackSpec = new CArchiveUpdateCallback(_swInfo, & fiItems);\r
CMyComPtr<IArchiveUpdateCallback2> updateCallback(updateCallbackSpec);\r
hArc->UpdateItems(outFileStream, fiItems.Size(), updateCallback);\r
nErrorCode = updateCallbackSpec->nErrorCode;\r
\r
# Define compilers.\r
CC = clang++\r
-CPPFLAGS = -c -O3 -Wall -Wextra -fno-exceptions -fno-rtti -fPIC `wx-config --cxxflags` $(CPPFLAGS_ADD)\r
+CPPFLAGS = -c -O3 -std=c++11 -Wall -Wextra -fno-exceptions -fno-rtti -fPIC `wx-config --cxxflags` $(CPPFLAGS_ADD)\r
LDFLAGS = -s -flto -shared -Wl,-Bsymbolic\r
\r
# Define i/o files.\r
rm -f -r $(FULL_OBJS) $(OUT_LIB)\r
\r
$(OUT_LIB): $(DIR_OBJ) $(FULL_OBJS)\r
- $(CC) $(LDFLAGS) -o $(OUT_LIB) -L$(DIR_LIB) -Wl,-soname,$(notdir $(OUT_LIB)) $(FULL_OBJS) `wx-config --libs`\r
+ $(CC) $(LDFLAGS) -o $(OUT_LIB) -L$(DIR_LIB) -Wl,-soname,$(notdir $(OUT_LIB)) $(FULL_OBJS) `wx-config --libs core`\r
chcon -t textrel_shlib_t $(OUT_LIB)\r
\r
$(DIR_OBJ):\r
\r
#define MySetArcSize(api_base, var) \\r
fpProc = ::GetAPIAddress(#api_base L"Ex", false); \\r
- if (fpProc != NULL) \\r
+ if (fpProc != nullptr) \\r
{ \\r
((BOOL (__stdcall *)(void *, LONGLONG *)) fpProc)(_hArchive, (LONGLONG *) & _aiInfo->var); \\r
} \\r
else \\r
{ \\r
fpProc = ::GetAPIAddress(#api_base, false); \\r
- if (fpProc != NULL) \\r
+ if (fpProc != nullptr) \\r
{ \\r
_aiInfo->var = ((DWORD (__stdcall *)(void *)) fpProc)(_hArchive); \\r
} \\r
\r
#define MySetArcTime(api_base, var, ismod) \\r
fpProc = ::GetAPIAddress(#api_base L"64", false); \\r
- if (fpProc != NULL) \\r
+ if (fpProc != nullptr) \\r
{ \\r
((BOOL (__stdcall *)(void *, LONGLONG *)) fpProc)(_hArchive, & ll); \\r
_aiInfo->var.Set((time_t) ll); \\r
else \\r
{ \\r
fpProc = ::GetAPIAddress(#api_base L"Ex", false); \\r
- if (fpProc != NULL) \\r
+ if (fpProc != nullptr) \\r
{ \\r
((BOOL (__stdcall *)(void *, FILETIME *)) fpProc)(_hArchive, & ft); \\r
_aiInfo->var = FileTimeToWxDateTime(& ft); \\r
else \\r
{ \\r
fpProc = ::GetAPIAddress(#api_base, false); \\r
- if (fpProc != NULL) \\r
+ if (fpProc != nullptr) \\r
{ \\r
_aiInfo->var.Set((time_t) ((DWORD (__stdcall *)(void *)) fpProc)(_hArchive)); \\r
} \\r
if (ismod) \\r
{ \\r
fpProc = ::GetAPIAddress("GetArcDate", false); \\r
- WORD wDate = fpProc == NULL ? 0 : ((WORD (__stdcall *)(void *)) fpProc)(_hArchive); \\r
+ WORD wDate = fpProc == nullptr ? 0 : ((WORD (__stdcall *)(void *)) fpProc)(_hArchive); \\r
fpProc = ::GetAPIAddress("GetArcTime", false); \\r
- WORD wTime = fpProc == NULL ? 0 : ((WORD (__stdcall *)(void *)) fpProc)(_hArchive); \\r
+ WORD wTime = fpProc == nullptr ? 0 : ((WORD (__stdcall *)(void *)) fpProc)(_hArchive); \\r
_aiInfo->var.SetFromDOS(MAKELONG(wTime, wDate)); \\r
} \\r
} \\r
TPI_PROCESSINFO piInfo;\r
piInfo.eMessage = TPI_MESSAGE_STATUS;\r
\r
- if (_lpEis != NULL)\r
+ if (_lpEis != nullptr)\r
{\r
if ((g_LibInfo.fRunning && g_LibInfo.fCallback32bit) || (g_LibInfoAlt.fRunning && g_LibInfoAlt.fCallback32bit))\r
{\r
}\r
\r
// コールバック関数に送信。\r
- if (g_prProc == NULL)\r
+ if (g_prProc == nullptr)\r
{\r
return TRUE;\r
}\r
TPI_PROCESSINFO piInfo;\r
piInfo.eMessage = TPI_MESSAGE_ASK;\r
piInfo.eStatus = TPI_PARAM_DEST;\r
- if (g_prProc == NULL)\r
+ if (g_prProc == nullptr)\r
{\r
return TRUE;\r
}\r
\r
- if (_lpEis != NULL)\r
+ if (_lpEis != nullptr)\r
{\r
if ((g_LibInfo.fRunning && g_LibInfo.fCallback32bit) || (g_LibInfoAlt.fRunning && g_LibInfoAlt.fCallback32bit))\r
{\r
if (fAlt)\r
{\r
fpProc = ::GetAPIAddressAlt("KillOwnerWindowEx64", false);\r
- g_LibInfoAlt.fCallback32bit = fpProc == NULL;\r
+ g_LibInfoAlt.fCallback32bit = fpProc == nullptr;\r
if (g_LibInfoAlt.fCallback32bit)\r
{\r
fpProc = ::GetAPIAddressAlt("KillOwnerWindowEx", false);\r
else\r
{\r
fpProc = ::GetAPIAddress("KillOwnerWindowEx64", false);\r
- g_LibInfo.fCallback32bit = fpProc == NULL;\r
+ g_LibInfo.fCallback32bit = fpProc == nullptr;\r
if (g_LibInfo.fCallback32bit)\r
{\r
fpProc = ::GetAPIAddress("KillOwnerWindowEx", false);\r
}\r
}\r
- if (fpProc == NULL)\r
+ if (fpProc == nullptr)\r
{\r
return TPI_ERROR_U_USE_LIBRARY;\r
}\r
// エラーでも無視する。\r
- ((BOOL (__stdcall *)(HWND)) fpProc)(NULL);\r
+ ((BOOL (__stdcall *)(HWND)) fpProc)(nullptr);\r
\r
// 続いてコールバック関数の設定。\r
if (fAlt)\r
{\r
fpProc = ::GetAPIAddressAlt("SetOwnerWindowEx64", false);\r
- g_LibInfoAlt.fCallback32bit = fpProc == NULL;\r
+ g_LibInfoAlt.fCallback32bit = fpProc == nullptr;\r
if (g_LibInfoAlt.fCallback32bit)\r
{\r
fpProc = ::GetAPIAddressAlt("SetOwnerWindowEx", true);\r
else\r
{\r
fpProc = ::GetAPIAddress("SetOwnerWindowEx64", false);\r
- g_LibInfo.fCallback32bit = fpProc == NULL;\r
+ g_LibInfo.fCallback32bit = fpProc == nullptr;\r
if (g_LibInfo.fCallback32bit)\r
{\r
fpProc = ::GetAPIAddress("SetOwnerWindowEx", true);\r
}\r
}\r
\r
- if (fpProc == NULL || ! ((fAlt ? g_LibInfoAlt.fCallback32bit : g_LibInfo.fCallback32bit)\r
- ? ((BOOL (__stdcall *)(HWND, ARCHIVERPROC * )) fpProc)(NULL, (ARCHIVERPROC *) CallbackProc)\r
- : ((BOOL (__stdcall *)(HWND, ARCHIVERPROC *, DWORD)) fpProc)(NULL, (ARCHIVERPROC *) CallbackProc, (fAlt ? g_LibInfoAlt.fUnicode : g_LibInfo.fUnicode) ? sizeof(EXTRACTINGINFOEX64W) : sizeof(EXTRACTINGINFOEX64))))\r
+ if (fpProc == nullptr || ! ((fAlt ? g_LibInfoAlt.fCallback32bit : g_LibInfo.fCallback32bit)\r
+ ? ((BOOL (__stdcall *)(HWND, ARCHIVERPROC * )) fpProc)(nullptr, (ARCHIVERPROC *) CallbackProc)\r
+ : ((BOOL (__stdcall *)(HWND, ARCHIVERPROC *, DWORD)) fpProc)(nullptr, (ARCHIVERPROC *) CallbackProc, (fAlt ? g_LibInfoAlt.fUnicode : g_LibInfo.fUnicode) ? sizeof(EXTRACTINGINFOEX64W) : sizeof(EXTRACTINGINFOEX64))))\r
{\r
return TPI_ERROR_U_USE_LIBRARY;\r
}\r
if (fAlt)\r
{\r
fpProc = ::GetAPIAddressAlt("ClearEnumMembersProc64", false);\r
- g_LibInfoAlt.fCallback32bit = fpProc == NULL;\r
+ g_LibInfoAlt.fCallback32bit = fpProc == nullptr;\r
if (g_LibInfoAlt.fCallback32bit)\r
{\r
fpProc = ::GetAPIAddressAlt("ClearEnumMembersProc", false);\r
else\r
{\r
fpProc = ::GetAPIAddress("ClearEnumMembersProc64", false);\r
- g_LibInfo.fCallback32bit = fpProc == NULL;\r
+ g_LibInfo.fCallback32bit = fpProc == nullptr;\r
if (g_LibInfo.fCallback32bit)\r
{\r
fpProc = ::GetAPIAddress("ClearEnumMembersProc", false);\r
}\r
}\r
- if (fpProc == NULL)\r
+ if (fpProc == nullptr)\r
{\r
return TPI_ERROR_U_USE_LIBRARY;\r
}\r
if (fAlt)\r
{\r
fpProc = ::GetAPIAddressAlt("SetEnumMembersProc64", false);\r
- g_LibInfoAlt.fCallback32bit = fpProc == NULL;\r
+ g_LibInfoAlt.fCallback32bit = fpProc == nullptr;\r
if (g_LibInfoAlt.fCallback32bit)\r
{\r
fpProc = ::GetAPIAddressAlt("SetEnumMembersProc", true);\r
else\r
{\r
fpProc = ::GetAPIAddress("SetEnumMembersProc64", false);\r
- g_LibInfo.fCallback32bit = fpProc == NULL;\r
+ g_LibInfo.fCallback32bit = fpProc == nullptr;\r
if (g_LibInfo.fCallback32bit)\r
{\r
fpProc = ::GetAPIAddress("SetEnumMembersProc", true);\r
}\r
}\r
\r
- return (fpProc == NULL || ! ((fAlt ? g_LibInfoAlt.fCallback32bit : g_LibInfo.fCallback32bit)\r
+ return (fpProc == nullptr || ! ((fAlt ? g_LibInfoAlt.fCallback32bit : g_LibInfo.fCallback32bit)\r
? ((BOOL (__stdcall *)(WND_ENUMMEMBPROC * )) fpProc)((WND_ENUMMEMBPROC *) EnumMembersProc)\r
: ((BOOL (__stdcall *)(WND_ENUMMEMBPROC *, DWORD)) fpProc)((WND_ENUMMEMBPROC *) EnumMembersProc, (fAlt ? g_LibInfoAlt.fUnicode : g_LibInfo.fUnicode) ? sizeof(ENUM_MEMBER_INFO64W) : sizeof(ENUM_MEMBER_INFO))))\r
? TPI_ERROR_U_USE_LIBRARY : TPI_ERROR_SUCCESS;\r
void * _pPtr\r
)\r
{\r
- if (_pPtr == NULL)\r
+ if (_pPtr == nullptr)\r
{\r
return TPI_ERROR_D_PARAMETER;\r
}\r
{\r
xmlLibrary = myGetNextLib(xmlLibrary);\r
}\r
- if (xmlLibrary == NULL)\r
+ if (xmlLibrary == nullptr)\r
{\r
// データの終端に達した場合。\r
return TPI_ERROR_S_ENDOFDATA;\r
\r
MakeFormatInfo(xmlLibrary, wxT("calLibrary"), _fiInfo, s_nFileId++);\r
HMODULE hLib = ::LoadLibrary(_fiInfo->szEngineName.wchar_str());\r
- if (hLib == NULL)\r
+ if (hLib == nullptr)\r
{\r
_fiInfo->eSupportedCommand = 0;\r
}\r
if (! ::wxFileExists(_szArcName))\r
{\r
xmlLibrary = myGetFirstLib(& xmlDoc, _nTypeId);\r
- if (xmlLibrary == NULL)\r
+ if (xmlLibrary == nullptr)\r
{\r
// xml文法エラー。\r
return TPI_ERROR_UNDEFINED;\r
\r
// ライブラリをロード。\r
g_LibInfo.hLib = ::LoadLibrary(xmlLibrary->GetAttribute(wxT("name"), wxEmptyString).wchar_str());\r
- if (g_LibInfo.hLib == NULL)\r
+ if (g_LibInfo.hLib == nullptr)\r
{\r
return TPI_ERROR_U_LOAD_LIBRARY;\r
}\r
g_LibInfoAlt.hLib = ::LoadLibrary(xmlLibrary->GetAttribute(wxT("name-alt"), wxEmptyString).wchar_str());\r
\r
// コールバック関数を設定。\r
- if (_prProc != NULL)\r
+ if (_prProc != nullptr)\r
{\r
g_prProc = * _prProc;\r
CalSetCallbackProc(true);\r
\r
// 無限ループに陥らないよう上限を設定。\r
xmlLibrary = myGetFirstLib(& xmlDoc);\r
- for (g_LibInfo.nLibIndex = 0; g_LibInfo.nLibIndex < 300 && xmlLibrary != NULL; g_LibInfo.nLibIndex++)\r
+ for (g_LibInfo.nLibIndex = 0; g_LibInfo.nLibIndex < 300 && xmlLibrary != nullptr; g_LibInfo.nLibIndex++)\r
{\r
// ライブラリをロード。\r
g_LibInfo.hLib = ::LoadLibrary(xmlLibrary->GetAttribute(wxT("name"), wxEmptyString).wchar_str());\r
- if (g_LibInfo.hLib == NULL)\r
+ if (g_LibInfo.hLib == nullptr)\r
{\r
xmlLibrary = myGetNextLib(xmlLibrary);\r
continue;\r
\r
// Unicodeモードに設定。\r
FARPROC fpProc = ::GetAPIAddress("SetUnicodeMode", false);\r
- if (fpProc != NULL)\r
+ if (fpProc != nullptr)\r
{\r
((BOOL (__stdcall *)(BOOL)) fpProc)(TRUE);\r
}\r
\r
// 書庫に対応しているかチェック。\r
fpProc = ::GetAPIAddress("CheckArchive", true);\r
- if (fpProc != NULL && (g_LibInfo.fUnicode\r
+ if (fpProc != nullptr && (g_LibInfo.fUnicode\r
? ((BOOL (__stdcall *)(const wchar_t *, const int)) fpProc)(_szArcName.wchar_str(), 0)\r
: ((BOOL (__stdcall *)(const char *, const int)) fpProc)(_szArcName.ToUTF8(), 0)))\r
{\r
// コールバック関数を設定。\r
- if (_prProc != NULL)\r
+ if (_prProc != nullptr)\r
{\r
g_prProc = * _prProc;\r
CalSetCallbackProc(true);\r
{\r
// ファイル数を取得。\r
FARPROC fpProc;\r
- if (_nFileCount != NULL)\r
+ if (_nFileCount != nullptr)\r
{\r
fpProc = ::GetAPIAddress("GetFileCount", true);\r
- if (fpProc != NULL)\r
+ if (fpProc != nullptr)\r
{\r
int n = g_LibInfo.fUnicode\r
? ((int (__stdcall *)(const wchar_t *)) fpProc)(_szArcName.wchar_str())\r
}\r
\r
fpProc = ::GetAPIAddress("OpenArchive", true);\r
- if (fpProc == NULL)\r
+ if (fpProc == nullptr)\r
{\r
return TPI_ERROR_U_USE_LIBRARY;\r
}\r
\r
* _hArchive = g_LibInfo.fUnicode\r
- ? ((void * (__stdcall *)(const HWND, const wchar_t *, const DWORD)) fpProc)(NULL, _szArcName.wchar_str(), 0)\r
- : ((void * (__stdcall *)(const HWND, const char *, const DWORD)) fpProc)(NULL, _szArcName.ToUTF8(), 0);\r
- return _hArchive == NULL ? TPI_ERROR_UNDEFINED : TPI_ERROR_SUCCESS;\r
+ ? ((void * (__stdcall *)(const HWND, const wchar_t *, const DWORD)) fpProc)(nullptr, _szArcName.wchar_str(), 0)\r
+ : ((void * (__stdcall *)(const HWND, const char *, const DWORD)) fpProc)(nullptr, _szArcName.ToUTF8(), 0);\r
+ return _hArchive == nullptr ? TPI_ERROR_UNDEFINED : TPI_ERROR_SUCCESS;\r
}\r
\r
int __stdcall CloseArchive\r
)\r
{\r
FARPROC fpProc = ::GetAPIAddress("CloseArchive", false);\r
- return fpProc == NULL ? TPI_ERROR_U_USE_LIBRARY : ErrorCodeConvert(((int (__stdcall *)(void *)) fpProc)(_hArchive));\r
+ return fpProc == nullptr ? TPI_ERROR_U_USE_LIBRARY : ErrorCodeConvert(((int (__stdcall *)(void *)) fpProc)(_hArchive));\r
}\r
\r
int __stdcall GetFileInformation\r
fpNext = ::GetAPIAddress("FindNext", true);\r
fpAttr = ::GetAPIAddress("GetAttribute", false);\r
fpName = ::GetAPIAddress("GetFileName", true);\r
- if (fpProc == NULL)\r
+ if (fpProc == nullptr)\r
{\r
return TPI_ERROR_U_USE_LIBRARY;\r
}\r
}\r
else\r
{\r
- if (fpNext == NULL)\r
+ if (fpNext == nullptr)\r
{\r
return TPI_ERROR_U_USE_LIBRARY;\r
}\r
nErrorCode = ErrorCodeConvert(nErrorCode);\r
if (nErrorCode == TPI_ERROR_SUCCESS)\r
{\r
- _fiInfo->dwAttribute = (fpAttr == NULL) ? 0 : ((int (__stdcall *)(void *)) fpAttr)(_hArchive);\r
+ _fiInfo->dwAttribute = (fpAttr == nullptr) ? 0 : ((int (__stdcall *)(void *)) fpAttr)(_hArchive);\r
if (_fiInfo->dwAttribute == (unsigned) -1)\r
{\r
_fiInfo->dwAttribute = 0;\r
)\r
{\r
FARPROC fpProc = ::GetAPIAddress("GetArcFileName", true);\r
- if (fpProc != NULL)\r
+ if (fpProc != nullptr)\r
{\r
// TODO : ファイル名の文字数制限を撤廃。\r
wxString s;\r
MySetArcTime(GetArcWriteTime, tmModify, true);\r
\r
fpProc = ::GetAPIAddress("GetArcRatio", false);\r
- if (fpProc != NULL)\r
+ if (fpProc != nullptr)\r
{\r
_aiInfo->wCompressRatio = ((WORD (__stdcall *)(void *)) fpProc)(_hArchive);\r
if (_aiInfo->wCompressRatio == (WORD) -1)\r
}\r
\r
fpProc = ::GetAPIAddress("GetArcOSType", false);\r
- if (fpProc != NULL)\r
+ if (fpProc != nullptr)\r
{\r
_aiInfo->eOSType = ((UINT (__stdcall *)(void *)) fpProc)(_hArchive);\r
}\r
\r
fpProc = ::GetAPIAddress("IsSFXFile", false);\r
- _aiInfo->fSFX = fpProc != NULL && ((int (__stdcall *)(void *)) fpProc)(_hArchive) > 0;\r
+ _aiInfo->fSFX = fpProc != nullptr && ((int (__stdcall *)(void *)) fpProc)(_hArchive) > 0;\r
\r
// 形式に関する情報を取得。\r
MakeFormatInfo(& g_LibInfo.node, wxT("calLibrary"), & _aiInfo->fiInfo, 0);\r
\r
FARPROC fpProc =\r
g_LibInfo.fRunning ? ::GetAPIAddress( "", true) :\r
- g_LibInfoAlt.fRunning ? ::GetAPIAddressAlt("", true) : NULL;\r
- if (fpProc == NULL || szCommandLine.IsEmpty())\r
+ g_LibInfoAlt.fRunning ? ::GetAPIAddressAlt("", true) : nullptr;\r
+ if (fpProc == nullptr || szCommandLine.IsEmpty())\r
{\r
return TPI_ERROR_U_USE_LIBRARY;\r
}\r
if ((g_LibInfo.fRunning && g_LibInfo.fUnicode) || (g_LibInfoAlt.fRunning && g_LibInfoAlt.fUnicode))\r
{\r
wchar_t szTmpOut[2049];\r
- nErrorCode = ((int (__stdcall *)(const HWND, const wchar_t *, wchar_t *, DWORD)) fpProc)(NULL, szCommandLineSend.wchar_str(), szTmpOut, 2048);\r
+ nErrorCode = ((int (__stdcall *)(const HWND, const wchar_t *, wchar_t *, DWORD)) fpProc)(nullptr, szCommandLineSend.wchar_str(), szTmpOut, 2048);\r
szOutput = WC2String(szTmpOut);\r
}\r
else\r
{\r
char szTmpOut[2049];\r
- nErrorCode = ((int (__stdcall *)(const HWND, const char *, char *, DWORD)) fpProc)(NULL, szCommandLineSend.ToUTF8(), szTmpOut, 2048);\r
+ nErrorCode = ((int (__stdcall *)(const HWND, const char *, char *, DWORD)) fpProc)(nullptr, szCommandLineSend.ToUTF8(), szTmpOut, 2048);\r
szOutput = UTF82String(szTmpOut);\r
}\r
\r
::wxSetWorkingDirectory(szCwd);\r
FILE * fp = popen(fWine ? (wxT("wine ") + szCommandLine).ToUTF8() : szCommandLine.ToUTF8(), "r");\r
::wxSetWorkingDirectory(sz);\r
- if (fp == NULL)\r
+ if (fp == nullptr)\r
{\r
wxLogError(L"Error :\n\nCommandLine:\n%s", szCommandLine.c_str());\r
return TPI_ERROR_U_USE_LIBRARY;\r
}\r
\r
- if (szOutput != NULL)\r
+ if (szOutput != nullptr)\r
{\r
char sz[32769];\r
while (! feof(fp))\r
si.hStdOutput = hWrite;\r
si.hStdError = hWrite;\r
PROCESS_INFORMATION pi;\r
- if (! ::CreateProcess(NULL, szCommandLine.wchar_str(), NULL, NULL, TRUE, CREATE_NO_WINDOW, NULL, szCwd.IsEmpty() ? NULL : szCwd.wchar_str(), & si, & pi))\r
+ if (! ::CreateProcess(nullptr, szCommandLine.wchar_str(), nullptr, nullptr, TRUE, CREATE_NO_WINDOW, nullptr, szCwd.IsEmpty() ? nullptr : szCwd.wchar_str(), & si, & pi))\r
{\r
return TPI_ERROR_U_USE_LIBRARY;\r
}\r
::CloseHandle(pi.hThread);\r
\r
- if (szOutput != NULL)\r
+ if (szOutput != nullptr)\r
{\r
bool bSignal;\r
do\r
{\r
DWORD dwSize = 0;\r
bSignal = ::WaitForSingleObject(pi.hProcess, 100) == WAIT_OBJECT_0;\r
- ::PeekNamedPipe(hRead, NULL, 0, NULL, & dwSize, NULL);\r
+ ::PeekNamedPipe(hRead, nullptr, 0, nullptr, & dwSize, nullptr);\r
while (dwSize > 0)\r
{\r
char sz[4097];\r
memset(sz, 0, sizeof(sz));\r
- ::ReadFile(hRead, & sz, sizeof(sz) - 1, & dwSize, NULL);\r
+ ::ReadFile(hRead, & sz, sizeof(sz) - 1, & dwSize, nullptr);\r
* szOutput += wxString(sz);\r
// UTF-8以外の文字コードだと、UTF82Stringを使うと書庫が開けなくなる。データの切り出しにも影響。\r
// * szOutput += UTF82String(sz);\r
-// ::MessageBoxA(NULL, sz, NULL, 0);\r
- ::PeekNamedPipe(hRead, NULL, 0, NULL, & dwSize, NULL);\r
+// ::MessageBoxA(nullptr, sz, nullptr, 0);\r
+ ::PeekNamedPipe(hRead, nullptr, 0, nullptr, & dwSize, nullptr);\r
}\r
}\r
while (! bSignal);\r
void * _pPtr\r
)\r
{\r
- if (_pPtr == NULL)\r
+ if (_pPtr == nullptr)\r
{\r
return TPI_ERROR_D_PARAMETER;\r
}\r
{\r
xmlLibrary = myGetNextLib(xmlLibrary);\r
}\r
- if (xmlLibrary == NULL)\r
+ if (xmlLibrary == nullptr)\r
{\r
// データの終端に達した場合。\r
return TPI_ERROR_S_ENDOFDATA;\r
}\r
\r
MakeFormatInfo(xmlLibrary, wxT("cuiWrapper"), _fiInfo, s_nFileId++);\r
- if (myExecute(_fiInfo->szEngineName, NULL, wxEmptyString, _fiInfo->szEngineName.MakeLower().EndsWith(wxT(".exe"))) != TPI_ERROR_SUCCESS)\r
+ if (myExecute(_fiInfo->szEngineName, nullptr, wxEmptyString, _fiInfo->szEngineName.MakeLower().EndsWith(wxT(".exe"))) != TPI_ERROR_SUCCESS)\r
{\r
_fiInfo->eSupportedCommand = 0;\r
}\r
wxXmlNode * xmlLibrary;\r
\r
// コールバック関数を設定。\r
- if (_prProc != NULL)\r
+ if (_prProc != nullptr)\r
{\r
g_prProc = * _prProc;\r
}\r
if (! ::wxFileExists(_szArcName))\r
{\r
xmlLibrary = myGetFirstLib(& xmlDoc, _nTypeId);\r
- if (xmlLibrary == NULL)\r
+ if (xmlLibrary == nullptr)\r
{\r
// xml文法エラー。\r
return TPI_ERROR_UNDEFINED;\r
\r
// 無限ループに陥らないよう上限を設定。\r
xmlLibrary = myGetFirstLib(& xmlDoc);\r
- for (g_LibInfo.nLibIndex = 0; g_LibInfo.nLibIndex < 300 && xmlLibrary != NULL; g_LibInfo.nLibIndex++)\r
+ for (g_LibInfo.nLibIndex = 0; g_LibInfo.nLibIndex < 300 && xmlLibrary != nullptr; g_LibInfo.nLibIndex++)\r
{\r
// 書庫に対応しているかチェック。\r
wxFileName fnArchive(_szArcName);\r
wxArrayString * as = new wxArrayString(::wxStringTokenize(szOutput, wxT("\r\n")));\r
* _hArchive = (void *) as;\r
as->Shrink();\r
- if (_nFileCount != NULL)\r
+ if (_nFileCount != nullptr)\r
{\r
* _nFileCount = as->GetCount();\r
}\r
{\r
static size_t s_nCurrentLine;\r
static wxULongLong_t s_nFileId;\r
- if (_hArchive == NULL)\r
+ if (_hArchive == nullptr)\r
{\r
return TPI_ERROR_UNDEFINED;\r
}\r
)\r
{\r
static FARPROC fpProc = ::GetAPIAddress("GetFileHeader");\r
- if (fpProc == NULL)\r
+ if (fpProc == nullptr)\r
{\r
return TPI_ERROR_U_USE_LIBRARY;\r
}\r
piInfo.eMessage = TPI_MESSAGE_ASK;\r
piInfo.eStatus = TPI_PARAM_DEST;\r
piInfo.fnDestination = wxFileName(g_swInfo->fnDestinationDirectory.GetPathWithSep() + (g_swInfo->fStoreDirectoryPathes ? piInfo.fiInfo.fnFileName.GetFullPath() : piInfo.fiInfo.fnFileName.GetFullName()));\r
- if (g_prProc != NULL && g_prProc(TPI_NOTIFY_COMMON, & piInfo) != TPI_CALLBACK_CONTINUE)\r
+ if (g_prProc != nullptr && g_prProc(TPI_NOTIFY_COMMON, & piInfo) != TPI_CALLBACK_CONTINUE)\r
{\r
return EGG_ERROR_CANCEL;\r
}\r
}\r
\r
// 2回目以降はコールバック関数に送信する。\r
- if (g_prProc == NULL || g_prProc(TPI_NOTIFY_COMMON, & piInfo) != TPI_CALLBACK_CONTINUE)\r
+ if (g_prProc == nullptr || g_prProc(TPI_NOTIFY_COMMON, & piInfo) != TPI_CALLBACK_CONTINUE)\r
{\r
return EGG_ERROR_CANCEL;\r
}\r
}\r
\r
// コールバック関数に送信。\r
- if (g_prProc == NULL)\r
+ if (g_prProc == nullptr)\r
{\r
return EGG_ERROR_SUCCESS;\r
}\r
void * _pPtr\r
)\r
{\r
- if (_pPtr == NULL)\r
+ if (_pPtr == nullptr)\r
{\r
return TPI_ERROR_D_PARAMETER;\r
}\r
{\r
::RemoveCwdFromSearchPath();\r
g_hLib = ::LoadLibrary(L"UnEGG32.dll");\r
- if (g_hLib == NULL)\r
+ if (g_hLib == nullptr)\r
{\r
::FreeLibrary(g_hLib);\r
return TPI_ERROR_U_LOAD_LIBRARY;\r
}\r
\r
// コールバック関数を設定。\r
- if (_prProc != NULL)\r
+ if (_prProc != nullptr)\r
{\r
g_prProc = * _prProc;\r
}\r
)\r
{\r
FARPROC fpProc = ::GetAPIAddress("IsValidArchive");\r
- if (fpProc == NULL)\r
+ if (fpProc == nullptr)\r
{\r
return TPI_ERROR_U_USE_LIBRARY;\r
}\r
}\r
\r
fpProc = ::GetAPIAddress("CreateEgg");\r
- if (fpProc == NULL)\r
+ if (fpProc == nullptr)\r
{\r
return TPI_ERROR_U_USE_LIBRARY;\r
}\r
{\r
return nErrorCode;\r
}\r
- if (_hArchive == NULL)\r
+ if (_hArchive == nullptr)\r
{\r
return TPI_ERROR_UNDEFINED;\r
}\r
\r
fpProc = ::GetAPIAddress("OpenArchive");\r
- if (fpProc == NULL)\r
+ if (fpProc == nullptr)\r
{\r
return TPI_ERROR_U_USE_LIBRARY;\r
}\r
return nErrorCode;\r
}\r
\r
- if (_nFileCount != NULL)\r
+ if (_nFileCount != nullptr)\r
{\r
fpProc = ::GetAPIAddress("GetFileCount");\r
- if (fpProc == NULL)\r
+ if (fpProc == nullptr)\r
{\r
CloseArchive(* _hArchive);\r
return TPI_ERROR_U_USE_LIBRARY;\r
)\r
{\r
FARPROC fpProc = ::GetAPIAddress("CloseArchive");\r
- if (fpProc == NULL || _hArchive == NULL)\r
+ if (fpProc == nullptr || _hArchive == nullptr)\r
{\r
return TPI_ERROR_U_USE_LIBRARY;\r
}\r
}\r
\r
fpProc = ::GetAPIAddress("DestroyEgg");\r
- return fpProc == NULL ? TPI_ERROR_U_USE_LIBRARY : ErrorCodeConvert(((UINT (__cdecl *)(void **)) fpProc)(& _hArchive));\r
+ return fpProc == nullptr ? TPI_ERROR_U_USE_LIBRARY : ErrorCodeConvert(((UINT (__cdecl *)(void **)) fpProc)(& _hArchive));\r
}\r
\r
int __stdcall GetFileInformation\r
{\r
s_nFileId = 0;\r
FARPROC fpProc = ::GetAPIAddress("GetFileCount");\r
- if (fpProc == NULL)\r
+ if (fpProc == nullptr)\r
{\r
return TPI_ERROR_U_USE_LIBRARY;\r
}\r
g_asFiles = & _szFiles;\r
\r
FARPROC fpProc = _eCommand == TPI_COMMAND_EXTRACT ? ::GetAPIAddress("Extract") : ::GetAPIAddress("Test");\r
- return fpProc == NULL ? TPI_ERROR_U_USE_LIBRARY : ErrorCodeConvert(((UINT (__cdecl *)(void *)) fpProc)(_hArchive));\r
+ return fpProc == nullptr ? TPI_ERROR_U_USE_LIBRARY : ErrorCodeConvert(((UINT (__cdecl *)(void *)) fpProc)(_hArchive));\r
}\r
\r
#ifdef __cplusplus\r
}\r
\r
// コールバック関数に送信。\r
- if (g_prProc == NULL || g_prProc(TPI_NOTIFY_COMMON, piInfo) == TPI_CALLBACK_CONTINUE)\r
+ if (g_prProc == nullptr || g_prProc(TPI_NOTIFY_COMMON, piInfo) == TPI_CALLBACK_CONTINUE)\r
{\r
if (msg == UCM_NEEDPASSWORDW || (msg == UCM_CHANGEVOLUMEW && P2 == RAR_VOL_ASK))\r
{\r
void * _pPtr\r
)\r
{\r
- if (_pPtr == NULL)\r
+ if (_pPtr == nullptr)\r
{\r
return TPI_ERROR_D_PARAMETER;\r
}\r
}\r
\r
// コールバック関数を設定。\r
- if (_prProc != NULL)\r
+ if (_prProc != nullptr)\r
{\r
g_prProc = * _prProc;\r
}\r
}\r
\r
memset(& g_oaInfo, 0, sizeof(g_oaInfo));\r
- g_oaInfo.ArcName = NULL;\r
+ g_oaInfo.ArcName = nullptr;\r
// g_oaInfo.ArcNameW = _szArcName.wchar_str();\r
g_oaInfo.ArcNameW = (wchar_t *) malloc((_szArcName.Len() + 1) * sizeof(wchar_t));\r
wcscpy(g_oaInfo.ArcNameW, _szArcName.wchar_str());\r
g_oaInfo.Callback = CallbackProc;\r
* _hArchive = ((void * (__stdcall *)(RAROpenArchiveDataEx *)) p)(& g_oaInfo);\r
free(g_oaInfo.ArcNameW);\r
- return * _hArchive == NULL ? TPI_ERROR_UNDEFINED : ErrorCodeConvert(g_oaInfo.OpenResult);\r
+ return * _hArchive == nullptr ? TPI_ERROR_UNDEFINED : ErrorCodeConvert(g_oaInfo.OpenResult);\r
}\r
\r
int __stdcall CloseArchive\r
return TPI_ERROR_U_USE_LIBRARY;\r
}\r
void * p = g_hLib.GetSymbol(wxT("RARCloseArchive"));\r
- return (! p || _hArchive == NULL) ? TPI_ERROR_U_USE_LIBRARY : ErrorCodeConvert(((int (__stdcall *)(void *)) p)(_hArchive));\r
+ return (! p || _hArchive == nullptr) ? TPI_ERROR_U_USE_LIBRARY : ErrorCodeConvert(((int (__stdcall *)(void *)) p)(_hArchive));\r
}\r
\r
int __stdcall GetFileInformation\r
if (_bFirst)\r
{\r
s_nFileId = 0;\r
- pR = g_hLib.HasSymbol(wxT("RARReadHeaderEx")) ? g_hLib.GetSymbol(wxT("RARReadHeaderEx")) : NULL;\r
- pP = g_hLib.HasSymbol(wxT("RARProcessFileW")) ? g_hLib.GetSymbol(wxT("RARProcessFileW")) : NULL;\r
+ pR = g_hLib.HasSymbol(wxT("RARReadHeaderEx")) ? g_hLib.GetSymbol(wxT("RARReadHeaderEx")) : nullptr;\r
+ pP = g_hLib.HasSymbol(wxT("RARProcessFileW")) ? g_hLib.GetSymbol(wxT("RARProcessFileW")) : nullptr;\r
if (! pR || ! pP)\r
{\r
return TPI_ERROR_U_USE_LIBRARY;\r
_fiInfo->fnFileName = wxFileName(_fiInfo->szStoredName);\r
\r
// 次のファイルへ。\r
- nErrorCode = ErrorCodeConvert(((int (__stdcall *)(void *, int, wchar_t *, wchar_t *)) pP)(_hArchive, RAR_SKIP, NULL, NULL));\r
+ nErrorCode = ErrorCodeConvert(((int (__stdcall *)(void *, int, wchar_t *, wchar_t *)) pP)(_hArchive, RAR_SKIP, nullptr, nullptr));\r
}\r
\r
return nErrorCode;\r
piInfo.eMessage = TPI_MESSAGE_STATUS;\r
piInfo.eStatus = TPI_STATUS_OPENARCHIVE;\r
piInfo.fiInfo.fnFileName = wxFileName(_swInfo->szArcName);\r
- if (g_prProc != NULL && g_prProc(TPI_NOTIFY_COMMON, & piInfo) != TPI_CALLBACK_CONTINUE)\r
+ if (g_prProc != nullptr && g_prProc(TPI_NOTIFY_COMMON, & piInfo) != TPI_CALLBACK_CONTINUE)\r
{\r
return TPI_ERROR_D_SKIPPED;\r
}\r
RAROpenArchiveDataEx oaInfo;\r
memset(& oaInfo, 0, sizeof(oaInfo));\r
- oaInfo.ArcName = NULL;\r
+ oaInfo.ArcName = nullptr;\r
// oaInfo.ArcNameW = _swInfo->szArcName.wchar_str();\r
oaInfo.ArcNameW = (wchar_t *) malloc((_swInfo->szArcName.Len() + 1) * sizeof(wchar_t));\r
wcscpy(oaInfo.ArcNameW, _swInfo->szArcName.wchar_str());\r
oaInfo.UserData = (long) & piInfo;\r
void * hArc = ((void * (__stdcall *)(RAROpenArchiveDataEx *)) p)(& oaInfo);\r
free(oaInfo.ArcNameW);\r
- if (hArc == NULL)\r
+ if (hArc == nullptr)\r
{\r
return TPI_ERROR_UNDEFINED;\r
}\r
}\r
\r
void\r
- * pS = g_hLib.HasSymbol(wxT("RARSetPassword")) ? g_hLib.GetSymbol(wxT("RARSetPassword")) : NULL,\r
- * pR = g_hLib.HasSymbol(wxT("RARReadHeaderEx")) ? g_hLib.GetSymbol(wxT("RARReadHeaderEx")) : NULL,\r
- * pP = g_hLib.HasSymbol(wxT("RARProcessFileW")) ? g_hLib.GetSymbol(wxT("RARProcessFileW")) : NULL;\r
+ * pS = g_hLib.HasSymbol(wxT("RARSetPassword")) ? g_hLib.GetSymbol(wxT("RARSetPassword")) : nullptr,\r
+ * pR = g_hLib.HasSymbol(wxT("RARReadHeaderEx")) ? g_hLib.GetSymbol(wxT("RARReadHeaderEx")) : nullptr,\r
+ * pP = g_hLib.HasSymbol(wxT("RARProcessFileW")) ? g_hLib.GetSymbol(wxT("RARProcessFileW")) : nullptr;\r
if (! pR || ! pP)\r
{\r
CloseArchive(hArc);\r
piInfo.fiInfo.nUnpackedSize = piInfo.fiInfo.nUnpackedSize << 32;\r
piInfo.fiInfo.nUnpackedSize += hdInfo.UnpSize;\r
piInfo.fiInfo.tmModify.SetFromDOS(hdInfo.FileTime);\r
- if (g_prProc != NULL && g_prProc(TPI_NOTIFY_COMMON, & piInfo) != TPI_CALLBACK_CONTINUE)\r
+ if (g_prProc != nullptr && g_prProc(TPI_NOTIFY_COMMON, & piInfo) != TPI_CALLBACK_CONTINUE)\r
{\r
nErrorCode = TPI_ERROR_D_SKIPPED;\r
break;\r
// 処理の開始を通知。\r
piInfo.eMessage = TPI_MESSAGE_STATUS;\r
piInfo.eStatus = TPI_STATUS_BEGINPROCESS;\r
- if (g_prProc != NULL && g_prProc(TPI_NOTIFY_COMMON, & piInfo) != TPI_CALLBACK_CONTINUE)\r
+ if (g_prProc != nullptr && g_prProc(TPI_NOTIFY_COMMON, & piInfo) != TPI_CALLBACK_CONTINUE)\r
{\r
nErrorCode = TPI_ERROR_D_SKIPPED;\r
break;\r
}\r
}\r
\r
- nErrorCode = ErrorCodeConvert(((int (__stdcall *)(void *, int, wchar_t *, wchar_t *)) pP)(hArc, bSkip ? RAR_SKIP : _eCommand == TPI_COMMAND_EXTRACT ? RAR_EXTRACT : RAR_TEST, NULL, piInfo.fnDestination.GetFullPath().wchar_str()));\r
+ nErrorCode = ErrorCodeConvert(((int (__stdcall *)(void *, int, wchar_t *, wchar_t *)) pP)(hArc, bSkip ? RAR_SKIP : _eCommand == TPI_COMMAND_EXTRACT ? RAR_EXTRACT : RAR_TEST, nullptr, piInfo.fnDestination.GetFullPath().wchar_str()));\r
\r
if (! bSkip)\r
{\r
// 処理の終了を通知。\r
piInfo.eMessage = TPI_MESSAGE_STATUS;\r
piInfo.eStatus = TPI_STATUS_ENDPROCESS;\r
- if (g_prProc != NULL && g_prProc(TPI_NOTIFY_COMMON, & piInfo) != TPI_CALLBACK_CONTINUE)\r
+ if (g_prProc != nullptr && g_prProc(TPI_NOTIFY_COMMON, & piInfo) != TPI_CALLBACK_CONTINUE)\r
{\r
nErrorCode = TPI_ERROR_D_SKIPPED;\r
break;\r
piInfo->nProcessedSize = _nNow;\r
\r
// コールバック関数に送信。\r
- return g_prProc != NULL && g_prProc(TPI_NOTIFY_COMMON, piInfo) == TPI_CALLBACK_CANCEL;\r
+ return g_prProc != nullptr && g_prProc(TPI_NOTIFY_COMMON, piInfo) == TPI_CALLBACK_CANCEL;\r
}\r
\r
//******************************************************************************\r
void * _pPtr\r
)\r
{\r
- if (_pPtr == NULL)\r
+ if (_pPtr == nullptr)\r
{\r
return TPI_ERROR_D_PARAMETER;\r
}\r
{\r
// SPIをロード。\r
g_hLib = ::LoadLibrary((g_szLibPath + szSPIName).wchar_str());\r
- if (g_hLib == NULL)\r
+ if (g_hLib == nullptr)\r
{\r
continue;\r
}\r
\r
// GetPluginInfoを実行。\r
FARPROC fpProc = ::GetProcAddress(g_hLib, "GetPluginInfo");\r
- char szPluginType[5]; // 種類4bytes + NULL\r
- if (fpProc == NULL\r
+ char szPluginType[5]; // 種類4bytes + nullptr\r
+ if (fpProc == nullptr\r
|| ((int (PASCAL *)(int, char *, int)) fpProc)(0, szPluginType, sizeof(szPluginType)) <= 0\r
|| szPluginType[2] != 'A' || szPluginType[3] != 'M')\r
{\r
\r
// 書庫に対応しているかチェック。\r
fpProc = ::GetProcAddress(g_hLib, "IsSupported");\r
- if (fpProc == NULL)\r
+ if (fpProc == nullptr)\r
{\r
::FreeLibrary(g_hLib);\r
continue;\r
if (((BOOL (PASCAL *)(const char *, unsigned long)) fpProc)(_szArcName.ToUTF8(), (unsigned long) buffer))\r
{\r
// コールバック関数を設定。\r
- if (_prProc != NULL)\r
+ if (_prProc != nullptr)\r
{\r
g_prProc = * _prProc;\r
}\r
)\r
{\r
FARPROC fpProc = ::GetProcAddress(g_hLib, "GetArchiveInfo");\r
- if (fpProc == NULL)\r
+ if (fpProc == nullptr)\r
{\r
return TPI_ERROR_U_USE_LIBRARY;\r
}\r
{\r
return nReturnCode;\r
}\r
- if (_nFileCount != NULL)\r
+ if (_nFileCount != nullptr)\r
{\r
* _nFileCount = ::LocalSize(* _hArchive) / sizeof(fileInfo);\r
}\r
- return * _hArchive == NULL ? TPI_ERROR_IO_ARC_OPEN : nReturnCode;\r
+ return * _hArchive == nullptr ? TPI_ERROR_IO_ARC_OPEN : nReturnCode;\r
}\r
\r
int __stdcall CloseArchive\r
void * _hArchive\r
)\r
{\r
- return ::LocalFree(_hArchive) == NULL ? TPI_ERROR_SUCCESS : TPI_ERROR_IO_ARC_CLOSE;\r
+ return ::LocalFree(_hArchive) == nullptr ? TPI_ERROR_SUCCESS : TPI_ERROR_IO_ARC_CLOSE;\r
}\r
\r
int __stdcall GetFileInformation\r
{\r
// GetPluginInfoを実行。\r
FARPROC fpProc = ::GetProcAddress(g_hLib, "GetPluginInfo");\r
- if (fpProc != NULL)\r
+ if (fpProc != nullptr)\r
{\r
char szTemp[513];\r
memset(szTemp, 0, sizeof(szTemp));\r
\r
// 展開処理のみを行う。\r
FARPROC fpProc = ::GetProcAddress(g_hLib, "GetFile");\r
- if (fpProc == NULL)\r
+ if (fpProc == nullptr)\r
{\r
return TPI_ERROR_U_USE_LIBRARY;\r
}\r
piInfo.eStatus = TPI_STATUS_INPROCESS;\r
\r
// ファイル出力には対応してないのでメモリ出力で代行。\r
- HLOCAL hMemory = NULL;\r
+ HLOCAL hMemory = nullptr;\r
nErrorCode = ErrorCodeConvert(((int (PASCAL *)(const char *, long, char *, unsigned int, FARPROC, long)) fpProc)(_swInfo->szArcName.ToUTF8(), (long) piInfo.fiInfo.pCustomInfo, (char *) & hMemory, 0x0100, (FARPROC) CallbackProc, (long) & piInfo));\r
- if (nErrorCode == TPI_ERROR_SUCCESS && hMemory == NULL)\r
+ if (nErrorCode == TPI_ERROR_SUCCESS && hMemory == nullptr)\r
{\r
nErrorCode = TPI_ERROR_UNDEFINED;\r
}\r
piInfo.fiInfo.fnFileName = wxFileName(piInfo.fiInfo.szStoredName);\r
piInfo.fnDestination = wxFileName(WC2String(pCallbackInfo->pszTargetFileName));\r
return\r
- g_prProc == NULL || g_prProc(TPI_NOTIFY_COMMON, & piInfo) != TPI_CALLBACK_CANCEL ?\r
+ g_prProc == nullptr || g_prProc(TPI_NOTIFY_COMMON, & piInfo) != TPI_CALLBACK_CANCEL ?\r
SQX_PROGRESS_OK : SQX_PROGRESS_CANCEL;\r
\r
case SQX_CALLBACK_PROGRESS:\r
piInfo.eStatus = TPI_STATUS_INPROCESS;\r
piInfo.nProcessedSize = pCallbackInfo->iProgress;\r
return\r
- g_prProc == NULL || g_prProc(TPI_NOTIFY_COMMON, & piInfo) != TPI_CALLBACK_CANCEL ?\r
+ g_prProc == nullptr || g_prProc(TPI_NOTIFY_COMMON, & piInfo) != TPI_CALLBACK_CANCEL ?\r
SQX_PROGRESS_OK : SQX_PROGRESS_CANCEL;\r
\r
case SQX_CALLBACK_REPLACE:\r
piInfo.fiInfo.tmModify = FileTimeToWxDateTime(& pCallbackInfo->pFindDataReplace->ftLastWriteTime);\r
piInfo.fiInfo.tmCreate = FileTimeToWxDateTime(& pCallbackInfo->pFindDataReplace->ftCreationTime);\r
return\r
- g_prProc == NULL ? SQX_REPLACE_OVERWRITE :\r
+ g_prProc == nullptr ? SQX_REPLACE_OVERWRITE :\r
g_prProc(TPI_NOTIFY_COMMON, & piInfo) == TPI_CALLBACK_CANCEL ? SQX_PROGRESS_CANCEL :\r
piInfo.fnDestination.IsOk() ? SQX_REPLACE_OVERWRITE : SQX_REPLACE_SKIP;\r
\r
piInfo.eMessage = TPI_MESSAGE_ASK;\r
piInfo.eStatus = TPI_PARAM_PASSWORD;\r
piInfo.szParam.Empty();\r
- if (g_prProc == NULL || g_prProc(TPI_NOTIFY_COMMON, & piInfo) != TPI_CALLBACK_CONTINUE)\r
+ if (g_prProc == nullptr || g_prProc(TPI_NOTIFY_COMMON, & piInfo) != TPI_CALLBACK_CONTINUE)\r
{\r
return SQX_PASSWORD_CANCEL;\r
}\r
piInfo.eMessage = TPI_MESSAGE_ASK;\r
piInfo.eStatus = TPI_PARAM_NEXTVOLUME;\r
piInfo.szParam.Empty();\r
- if (g_prProc == NULL || g_prProc(TPI_NOTIFY_COMMON, & piInfo) != TPI_CALLBACK_CONTINUE)\r
+ if (g_prProc == nullptr || g_prProc(TPI_NOTIFY_COMMON, & piInfo) != TPI_CALLBACK_CONTINUE)\r
{\r
return SQX_NEXTDISK_CANCEL;\r
}\r
}\r
\r
// コールバック関数に送信。\r
- if (g_prProc != NULL)\r
+ if (g_prProc != nullptr)\r
{\r
g_prProc(TPI_NOTIFY_COMMON, & piInfo);\r
}\r
void * _pPtr\r
)\r
{\r
- if (_pPtr == NULL)\r
+ if (_pPtr == nullptr)\r
{\r
return TPI_ERROR_D_PARAMETER;\r
}\r
{\r
::RemoveCwdFromSearchPath();\r
g_hLib = ::LoadLibrary(L"sqx20u.dll");\r
- if (g_hLib == NULL)\r
+ if (g_hLib == nullptr)\r
{\r
return TPI_ERROR_U_LOAD_LIBRARY;\r
}\r
\r
// コールバック関数を設定。\r
- if (_prProc != NULL)\r
+ if (_prProc != nullptr)\r
{\r
g_prProc = * _prProc;\r
}\r
)\r
{\r
FARPROC fpProc = ::GetAPIAddress("InitArchive");\r
- if (fpProc == NULL)\r
+ if (fpProc == nullptr)\r
{\r
return TPI_ERROR_U_USE_LIBRARY;\r
}\r
\r
- int nErrorCode = ErrorCodeConvert(((int (__stdcall *)(const wchar_t *, SQXCALLBACK, void *, void **)) fpProc)(_szArcName.wchar_str(), CallbackProc, NULL, _hArchive));\r
+ int nErrorCode = ErrorCodeConvert(((int (__stdcall *)(const wchar_t *, SQXCALLBACK, void *, void **)) fpProc)(_szArcName.wchar_str(), CallbackProc, nullptr, _hArchive));\r
if (nErrorCode != TPI_ERROR_SUCCESS)\r
{\r
return nErrorCode;\r
}\r
\r
- if (_nFileCount != NULL)\r
+ if (_nFileCount != nullptr)\r
{\r
fpProc = ::GetAPIAddress("InitArcFileList");\r
- if (fpProc == NULL)\r
+ if (fpProc == nullptr)\r
{\r
CloseArchive(* _hArchive);\r
return TPI_ERROR_U_USE_LIBRARY;\r
}\r
SQX_ARCLIST * al = ((SQX_ARCLIST * (__stdcall *)(void *)) fpProc)(* _hArchive);\r
- if (al == NULL)\r
+ if (al == nullptr)\r
{\r
CloseArchive(* _hArchive);\r
return TPI_ERROR_UNDEFINED;\r
* _nFileCount = al->dwItemCount;\r
\r
fpProc = ::GetAPIAddress("DoneArcFileList");\r
- if (fpProc == NULL)\r
+ if (fpProc == nullptr)\r
{\r
CloseArchive(* _hArchive);\r
return TPI_ERROR_U_USE_LIBRARY;\r
)\r
{\r
FARPROC fpProc = ::GetAPIAddress("DoneArchive");\r
- if (fpProc == NULL || _hArchive == NULL)\r
+ if (fpProc == nullptr || _hArchive == nullptr)\r
{\r
return TPI_ERROR_U_USE_LIBRARY;\r
}\r
{\r
s_nFileId = 0;\r
FARPROC fpProc = ::GetAPIAddress("InitArcFileList");\r
- if (fpProc == NULL)\r
+ if (fpProc == nullptr)\r
{\r
return TPI_ERROR_U_USE_LIBRARY;\r
}\r
al = ((SQX_ARCLIST * (__stdcall *)(void *)) fpProc)(_hArchive);\r
- if (al == NULL)\r
+ if (al == nullptr)\r
{\r
return TPI_ERROR_UNDEFINED;\r
}\r
\r
fpProc = ::GetAPIAddress("InitFileList");\r
- if (fpProc == NULL)\r
+ if (fpProc == nullptr)\r
{\r
return TPI_ERROR_U_USE_LIBRARY;\r
}\r
fl = ((void * (__stdcall *)(void *)) fpProc)(_hArchive);\r
- if (fl == NULL)\r
+ if (fl == nullptr)\r
{\r
return TPI_ERROR_UNDEFINED;\r
}\r
\r
fpProc = ::GetAPIAddress("AppendFileList");\r
- if (fpProc == NULL)\r
+ if (fpProc == nullptr)\r
{\r
return TPI_ERROR_U_USE_LIBRARY;\r
}\r
((void (__stdcall *)(void *, void *, const wchar_t *)) fpProc)(_hArchive, fl, L"*");\r
\r
fpProc = ::GetAPIAddress("ListFiles");\r
- if (fpProc == NULL)\r
+ if (fpProc == nullptr)\r
{\r
return TPI_ERROR_U_USE_LIBRARY;\r
}\r
aln = al->pHead;\r
}\r
\r
- if (aln == NULL)\r
+ if (aln == nullptr)\r
{\r
FARPROC fpProc = ::GetAPIAddress("DoneArcFileList");\r
- if (fpProc == NULL)\r
+ if (fpProc == nullptr)\r
{\r
return TPI_ERROR_U_USE_LIBRARY;\r
}\r
((void (__stdcall *)(void *, SQX_ARCLIST *)) fpProc)(_hArchive, al);\r
\r
fpProc = ::GetAPIAddress("DoneFileList");\r
- if (fpProc == NULL)\r
+ if (fpProc == nullptr)\r
{\r
return TPI_ERROR_U_USE_LIBRARY;\r
}\r
)\r
{\r
FARPROC fpProc = ::GetAPIAddress("InitArcFileList");\r
- if (fpProc == NULL)\r
+ if (fpProc == nullptr)\r
{\r
return TPI_ERROR_U_USE_LIBRARY;\r
}\r
SQX_ARCLIST * al = ((SQX_ARCLIST * (__stdcall *)(void *)) fpProc)(_hArchive);\r
- if (al == NULL)\r
+ if (al == nullptr)\r
{\r
return TPI_ERROR_UNDEFINED;\r
}\r
\r
fpProc = ::GetAPIAddress("InitFileList");\r
- if (fpProc == NULL)\r
+ if (fpProc == nullptr)\r
{\r
return TPI_ERROR_U_USE_LIBRARY;\r
}\r
void * fl = ((void * (__stdcall *)(void *)) fpProc)(_hArchive);\r
- if (fl == NULL)\r
+ if (fl == nullptr)\r
{\r
return TPI_ERROR_UNDEFINED;\r
}\r
\r
fpProc = ::GetAPIAddress("AppendFileList");\r
- if (fpProc == NULL)\r
+ if (fpProc == nullptr)\r
{\r
return TPI_ERROR_U_USE_LIBRARY;\r
}\r
((void (__stdcall *)(void *, void *, const wchar_t *)) fpProc)(_hArchive, fl, L"*");\r
\r
fpProc = ::GetAPIAddress("ListFiles");\r
- if (fpProc == NULL)\r
+ if (fpProc == nullptr)\r
{\r
return TPI_ERROR_U_USE_LIBRARY;\r
}\r
}\r
\r
fpProc = ::GetAPIAddress("DoneArcFileList");\r
- if (fpProc == NULL)\r
+ if (fpProc == nullptr)\r
{\r
return TPI_ERROR_U_USE_LIBRARY;\r
}\r
((void (__stdcall *)(void *, SQX_ARCLIST *)) fpProc)(_hArchive, al);\r
\r
fpProc = ::GetAPIAddress("DoneFileList");\r
- if (fpProc == NULL)\r
+ if (fpProc == nullptr)\r
{\r
return TPI_ERROR_U_USE_LIBRARY;\r
}\r
if (ai.fArchiveComment)\r
{\r
fpProc = ::GetAPIAddress("GetArchiveComment");\r
- if (fpProc == NULL)\r
+ if (fpProc == nullptr)\r
{\r
return TPI_ERROR_U_USE_LIBRARY;\r
}\r
}\r
\r
FARPROC fpProc;\r
- void * fl = NULL;\r
+ void * fl = nullptr;\r
if (_eCommand != TPI_COMMAND_TEST && _eCommand != TPI_COMMAND_REPAIR)\r
{\r
fpProc = ::GetAPIAddress("InitFileList");\r
- if (fpProc == NULL)\r
+ if (fpProc == nullptr)\r
{\r
if (_eCommand == TPI_COMMAND_CREATE)\r
{\r
return TPI_ERROR_U_USE_LIBRARY;\r
}\r
fl = ((void * (__stdcall *)(void *)) fpProc)(_hArchive);\r
- if (fl == NULL)\r
+ if (fl == nullptr)\r
{\r
if (_eCommand == TPI_COMMAND_CREATE)\r
{\r
}\r
\r
fpProc = ::GetAPIAddress("AppendFileList");\r
- if (fpProc == NULL)\r
+ if (fpProc == nullptr)\r
{\r
if (_eCommand == TPI_COMMAND_CREATE)\r
{\r
_eCommand == TPI_COMMAND_EXTRACT ? ::GetAPIAddress("ExtractFiles") :\r
_eCommand == TPI_COMMAND_DELETE ? ::GetAPIAddress("DeleteFiles") :\r
_eCommand == TPI_COMMAND_TEST ? ::GetAPIAddress("TestArchive") :\r
- _eCommand == TPI_COMMAND_REPAIR ? ::GetAPIAddress("RepairArchive") : NULL;\r
- if (fpProc == NULL)\r
+ _eCommand == TPI_COMMAND_REPAIR ? ::GetAPIAddress("RepairArchive") : nullptr;\r
+ if (fpProc == nullptr)\r
{\r
if (_eCommand == TPI_COMMAND_CREATE)\r
{\r
{\r
wcsncpy(co.szPasswordHeader, _swInfo->szPassword.c_str(), sizeof(co.szPasswordHeader) / sizeof(wchar_t) - 1);\r
}\r
- nErrorCode = ErrorCodeConvert(((int (__stdcall *)(void *, SQXCALLBACK, void *, void *, SQX_COMPRESSOPTIONS *)) fpProc)(_hArchive, CallbackProc, NULL, fl, & co));\r
+ nErrorCode = ErrorCodeConvert(((int (__stdcall *)(void *, SQXCALLBACK, void *, void *, SQX_COMPRESSOPTIONS *)) fpProc)(_hArchive, CallbackProc, nullptr, fl, & co));\r
break;\r
}\r
case TPI_COMMAND_EXTRACT:\r
wcsncpy(eo.szPassword, _swInfo->szPassword.c_str(), sizeof(eo.szPassword) / sizeof(wchar_t) - 1);\r
wcsncpy(eo.szPasswordHeader, _swInfo->szPassword.c_str(), sizeof(eo.szPasswordHeader) / sizeof(wchar_t) - 1);\r
wcsncpy(eo.szOutputPath, _swInfo->fnDestinationDirectory.GetFullPath().c_str(), sizeof(eo.szOutputPath) / sizeof(wchar_t) - 1);\r
- nErrorCode = ErrorCodeConvert(((int (__stdcall *)(void *, SQXCALLBACK, void *, void *, SQX_EXTRACTOPTIONS *)) fpProc)(_hArchive, CallbackProc, NULL, fl, & eo));\r
+ nErrorCode = ErrorCodeConvert(((int (__stdcall *)(void *, SQXCALLBACK, void *, void *, SQX_EXTRACTOPTIONS *)) fpProc)(_hArchive, CallbackProc, nullptr, fl, & eo));\r
break;\r
}\r
case TPI_COMMAND_DELETE:\r
- nErrorCode = ErrorCodeConvert(((int (__stdcall *)(void *, SQXCALLBACK, void *, void *)) fpProc)(_hArchive, CallbackProc, NULL, fl));\r
+ nErrorCode = ErrorCodeConvert(((int (__stdcall *)(void *, SQXCALLBACK, void *, void *)) fpProc)(_hArchive, CallbackProc, nullptr, fl));\r
break;\r
case TPI_COMMAND_TEST:\r
- nErrorCode = ErrorCodeConvert(((int (__stdcall *)(void *, SQXCALLBACK, void *)) fpProc)(_hArchive, CallbackProc, NULL));\r
+ nErrorCode = ErrorCodeConvert(((int (__stdcall *)(void *, SQXCALLBACK, void *)) fpProc)(_hArchive, CallbackProc, nullptr));\r
break;\r
case TPI_COMMAND_REPAIR:\r
{\r
wxString sz = _swInfo->szArcName + wxT("_repaired");\r
- nErrorCode = ErrorCodeConvert(((int (__stdcall *)(void *, const wchar_t *, SQX_ARCLIST *, SQX_ARCLIST *)) fpProc)(_hArchive, sz.c_str(), NULL, NULL));\r
+ nErrorCode = ErrorCodeConvert(((int (__stdcall *)(void *, const wchar_t *, SQX_ARCLIST *, SQX_ARCLIST *)) fpProc)(_hArchive, sz.c_str(), nullptr, nullptr));\r
break;\r
}\r
}\r
if (_eCommand != TPI_COMMAND_TEST && _eCommand != TPI_COMMAND_REPAIR)\r
{\r
fpProc = ::GetAPIAddress("DoneFileList");\r
- if (fpProc == NULL)\r
+ if (fpProc == nullptr)\r
{\r
if (_eCommand == TPI_COMMAND_CREATE)\r
{\r
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />\r
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">\r
<ConfigurationType>DynamicLibrary</ConfigurationType>\r
- <PlatformToolset>v120</PlatformToolset>\r
<CharacterSet>Unicode</CharacterSet>\r
+ <PlatformToolset>v120</PlatformToolset>\r
</PropertyGroup>\r
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">\r
<ConfigurationType>DynamicLibrary</ConfigurationType>\r
piInfo->fiInfo.nUnpackedSize = _nMax;\r
\r
// コールバック関数に送信。\r
- return g_prProc != NULL && g_prProc(TPI_NOTIFY_COMMON, piInfo) == TPI_CALLBACK_CANCEL;\r
+ return g_prProc != nullptr && g_prProc(TPI_NOTIFY_COMMON, piInfo) == TPI_CALLBACK_CANCEL;\r
}\r
\r
//******************************************************************************\r
void * _pPtr\r
)\r
{\r
- if (_pPtr == NULL)\r
+ if (_pPtr == nullptr)\r
{\r
return TPI_ERROR_D_PARAMETER;\r
}\r
{\r
// SPIをロード。\r
g_hLib = ::LoadLibrary((g_szLibPath + szSPIName).wchar_str());\r
- if (g_hLib == NULL)\r
+ if (g_hLib == nullptr)\r
{\r
continue;\r
}\r
\r
// GetPluginInfoを実行。\r
FARPROC fpProc = ::GetProcAddress(g_hLib, "GetPluginInfo");\r
- char szPluginType[5]; // 種類4bytes + NULL\r
- if (fpProc == NULL\r
+ char szPluginType[5]; // 種類4bytes + nullptr\r
+ if (fpProc == nullptr\r
|| ((int (PASCAL *)(int, char *, int)) fpProc)(0, szPluginType, sizeof(szPluginType)) <= 0\r
|| szPluginType[2] != 'I' || szPluginType[3] != 'N')\r
{\r
\r
// 書庫に対応しているかチェック。\r
fpProc = ::GetProcAddress(g_hLib, "IsSupported");\r
- if (fpProc == NULL)\r
+ if (fpProc == nullptr)\r
{\r
::FreeLibrary(g_hLib);\r
continue;\r
if (((BOOL (PASCAL *)(const char *, unsigned long)) fpProc)(_szArcName.ToUTF8(), (unsigned long) buffer))\r
{\r
// コールバック関数を設定。\r
- if (_prProc != NULL)\r
+ if (_prProc != nullptr)\r
{\r
g_prProc = * _prProc;\r
}\r
\r
// 画像の情報を取得。\r
FARPROC fpProc = ::GetProcAddress(g_hLib, "GetPictureInfo");\r
- if (fpProc == NULL)\r
+ if (fpProc == nullptr)\r
{\r
return TPI_ERROR_U_USE_LIBRARY;\r
}\r
{\r
// XPIをロード。\r
HMODULE hXPI = ::LoadLibrary((g_szLibPath + szXPIName).wchar_str());\r
- if (hXPI == NULL)\r
+ if (hXPI == nullptr)\r
{\r
continue;\r
}\r
FARPROC fpProc = ::GetProcAddress(hXPI, "GetPluginInfo");\r
char szTemp[513];\r
memset(szTemp, 0, sizeof(szTemp));\r
- if (fpProc == NULL\r
+ if (fpProc == nullptr\r
|| ((int (PASCAL *)(int, char *, int)) fpProc)(0, szTemp, sizeof(szTemp) - 1) <= 0\r
|| szTemp[2] != 'X' || szTemp[3] != 'N')\r
{\r
\r
// 対応確認。\r
fpProc = ::GetProcAddress(hXPI, "IsSupported");\r
- if (fpProc == NULL || ! ((BOOL (PASCAL *)(int)) fpProc)(nColorDepth))\r
+ if (fpProc == nullptr || ! ((BOOL (PASCAL *)(int)) fpProc)(nColorDepth))\r
{\r
::FreeLibrary(hXPI);\r
continue;\r
{\r
// 画像の情報を取得。\r
FARPROC fpProc = ::GetProcAddress(g_hLib, "GetPictureInfo");\r
- if (fpProc == NULL)\r
+ if (fpProc == nullptr)\r
{\r
return TPI_ERROR_U_USE_LIBRARY;\r
}\r
\r
// GetPluginInfoを実行。\r
fpProc = ::GetProcAddress(g_hLib, "GetPluginInfo");\r
- if (fpProc != NULL)\r
+ if (fpProc != nullptr)\r
{\r
char szTemp[513];\r
memset(szTemp, 0, sizeof(szTemp));\r
\r
// 画像の情報を取得。\r
FARPROC fpProc = ::GetProcAddress(g_hLib, "GetPictureInfo");\r
- if (fpProc == NULL)\r
+ if (fpProc == nullptr)\r
{\r
return TPI_ERROR_U_USE_LIBRARY;\r
}\r
// メモリ上に展開。\r
HANDLE hInfo, hMemory;\r
fpProc = ::GetProcAddress(g_hLib, "GetPicture");\r
- if (fpProc == NULL)\r
+ if (fpProc == nullptr)\r
{\r
return TPI_ERROR_U_USE_LIBRARY;\r
}\r
nErrorCode = ErrorCodeConvert(((int (PASCAL *)(const char *, long, unsigned int, HANDLE *, HANDLE *, FARPROC, long)) fpProc)(_swInfo->szArcName.ToUTF8(), 0, 0, & hInfo, & hMemory, (FARPROC) CallbackProc, (long) & piInfo));\r
- if (nErrorCode == TPI_ERROR_SUCCESS && (hMemory == NULL || hInfo == NULL))\r
+ if (nErrorCode == TPI_ERROR_SUCCESS && (hMemory == nullptr || hInfo == nullptr))\r
{\r
return TPI_ERROR_UNDEFINED;\r
}\r
\r
// XPIをロード。\r
HMODULE hXPI = ::LoadLibrary((g_szLibPath + piInfo.fiInfo.fnFileName.GetPath()).wchar_str());\r
- if (hXPI == NULL)\r
+ if (hXPI == nullptr)\r
{\r
nErrorCode = TPI_ERROR_U_USE_LIBRARY;\r
break;\r
// GetPluginInfoを実行。\r
FARPROC fpProc = ::GetProcAddress(hXPI, "GetPluginInfo");\r
char szTemp[20];\r
- if (fpProc == NULL\r
+ if (fpProc == nullptr\r
|| ((int (PASCAL *)(int, char *, int)) fpProc)(2, szTemp, sizeof(szTemp)) <= 0)\r
{\r
::FreeLibrary(hXPI);\r
// 書き込み。\r
piInfo.eStatus = TPI_STATUS_INPROCESS;\r
fpProc = ::GetProcAddress(hXPI, "CreatePicture");\r
- if (fpProc == NULL)\r
+ if (fpProc == nullptr)\r
{\r
::FreeLibrary(hXPI);\r
nErrorCode = TPI_ERROR_U_USE_LIBRARY;\r