From 361ec599ffc3f57061441a07bdc2dc8d166d75a5 Mon Sep 17 00:00:00 2001 From: qwerty2501 Date: Thu, 9 Feb 2012 22:30:26 +0900 Subject: [PATCH] =?utf8?q?=E3=83=97=E3=83=AD=E3=83=91=E3=83=86=E3=82=A3?= =?utf8?q?=E3=83=95=E3=82=A1=E3=82=A4=E3=83=AB=E4=BD=9C=E6=88=90=E5=91=A8?= =?utf8?q?=E3=82=8A=E3=81=AE=E6=9B=B4=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- nlite.suo | Bin 164352 -> 164352 bytes nlite/nlite_common.cpp | 59 +++++++++++++++++++++++++++++++++++++++++++++++ nlite/nlite_property.cpp | 50 ++++++++++++++------------------------- 3 files changed, 76 insertions(+), 33 deletions(-) diff --git a/nlite.suo b/nlite.suo index bc610d147f5fbe7f7b1f1dadee2230577fc60b97..6fbcf6edcd3a2cb9f74bb039b7a9cb7f5f7f3bf6 100644 GIT binary patch delta 1764 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 buf(_tcslen(dir) + 1); + _tcscpy(&buf[0],dir); + + + if( (PathFileExists(dir) && (!bFile || !::PathIsDirectory( dir )))){ + + goto success; + } + + LPTSTR startPtr = &buf[0]; + LPTSTR indexPtr = startPtr; + LPTSTR cmpPtr; + do { + + cmpPtr = _tcsstr(indexPtr,TEXT("\\")); + + if(cmpPtr == NULL){ + + if(bFile == TRUE){ + CAtlFile file; + if( file.Create(startPtr,0,0,OPEN_ALWAYS,FILE_ATTRIBUTE_NORMAL) != S_OK){ + + goto err; + + } + } else { + + ::CreateDirectory(startPtr,0); + } + + break; + }else if(indexPtr == cmpPtr){ + break; + + } + + cmpPtr[0] = TEXT('\0'); + ::CreateDirectory(startPtr,0); + cmpPtr[0] = TEXT('\\'); + cmpPtr++; + indexPtr = cmpPtr; + + + }while(indexPtr[0] != TEXT('\0')); + +success: + + + rslt = TRUE; + +end: + return rslt; + + +err: + rslt = FALSE; + goto end; } const CApplicationInfo * appInfo = NULL; diff --git a/nlite/nlite_property.cpp b/nlite/nlite_property.cpp index 888130b..9bf41c6 100644 --- a/nlite/nlite_property.cpp +++ b/nlite/nlite_property.cpp @@ -172,46 +172,30 @@ namespace nlite{ VOID Property::CreatePropertyFile(){ - propertyPath = appLocalPath; - - propertyPath += TEXT("\\qwerty_nico"); - - if(PathIsDirectory(propertyPath) == FALSE){ - - if(CreateDirectory(propertyPath,NULL) == 0){ - throw Exception(TEXT("Ý’èƒtƒ@ƒCƒ‹ì¬‚ÉŽ¸”s‚µ‚Ü‚µ‚½"),__LINE__,TEXT(__FILE__),TEXT(__FUNCTION__)); - } - - } + CString iniFile; + iniFile = appLocalPath; + iniFile += TEXT("\\qwerty_nico\\nlite.ini"); + SurelyCreate(iniFile,TRUE); + - propertyPath += TEXT("\\nlite"); + TCHAR propertyBuf[_MAX_PATH]; + LPCTSTR sectionName = TEXT("property"); + LPCTSTR keyName = TEXT("dir"); + ::GetPrivateProfileString(sectionName,keyName,TEXT(""),propertyBuf,ARRAY_LENGTH(propertyBuf),iniFile); - if(PathIsDirectory(propertyPath) == FALSE){ + if((_tcslen(propertyBuf) == 0) || !((PathFileExists(propertyBuf) && !::PathIsDirectory( propertyBuf )))){ + propertyPath = appLocalPath; + propertyPath += TEXT("\\qwerty_nico\\nlite\\property.xml"); - if(CreateDirectory(propertyPath,NULL) == 0){ - throw Exception(TEXT("Ý’èƒtƒ@ƒCƒ‹ì¬‚ÉŽ¸”s‚µ‚Ü‚µ‚½"),__LINE__,TEXT(__FILE__),TEXT(__FUNCTION__)); - } + ::WritePrivateProfileString(sectionName,keyName,propertyPath,iniFile); + } else { + propertyPath = propertyBuf; } - propertyPath += TEXT("\\property.xml"); - - - if(PathFileExists(propertyPath)== FALSE || PathIsDirectory(propertyPath) == TRUE){ - - HANDLE hPropertyxml = CreateFile(propertyPath,GENERIC_READ | GENERIC_WRITE,FILE_SHARE_READ | FILE_SHARE_WRITE,NULL,OPEN_ALWAYS,FILE_ATTRIBUTE_NORMAL,NULL); - - if(hPropertyxml == INVALID_HANDLE_VALUE ){ - - throw Exception(TEXT("Ý’èƒtƒ@ƒCƒ‹ì¬‚ÉŽ¸”s‚µ‚Ü‚µ‚½"),__LINE__,TEXT(__FILE__),TEXT(__FUNCTION__)); - - } - - - CloseHandle(hPropertyxml); - - } + SurelyCreate(propertyPath,TRUE); + return; } -- 2.11.0