• R/O
  • HTTP
  • SSH
  • HTTPS

コミット

タグ
未設定

よく使われているワード(クリックで追加)

javac++androidlinuxc#windowsobjective-ccocoa誰得qtpythonphprubygameguibathyscaphec計画中(planning stage)翻訳omegatframeworktwitterdomtestvb.netdirectxゲームエンジンbtronarduinopreviewer

コミットメタ情報

リビジョン105a8fb79a0b0c22e6d0733b2682a92470c26788 (tree)
日時2018-11-24 01:30:02
作者Starg <starg@user...>
コミッターStarg

ログメッセージ

Fix ini key encodings

変更サマリ

差分

--- a/interface/w32g_utl.c
+++ b/interface/w32g_utl.c
@@ -218,19 +218,19 @@ IniGetKeyInt32Array(char *section, char *key, int32 *n, int arraysize)
218218 int ret = 0;
219219 TCHAR *tIniFile = char_to_tchar(IniFile);
220220 TCHAR *tSection = char_to_tchar(section);
221- TCHAR *tKey = char_to_tchar(key);
222221 TCHAR buffer[INI_MAXLEN];
223- TCHAR keybuffer[INI_MAXLEN];
222+ char keybuffer[INI_MAXLEN];
224223 for(i=0;i<arraysize;i++){
225- _stprintf(keybuffer,_T("%ls%d"),tKey,i);
224+ sprintf(keybuffer,"%s%d",key,i);
225+ TCHAR *tkey = char_to_tchar(keybuffer);
226226 GetPrivateProfileString
227- (tSection,keybuffer,INI_INVALID,buffer,INI_MAXLEN-1,tIniFile);
227+ (tSection,tkey,INI_INVALID,buffer,INI_MAXLEN-1,tIniFile);
228+ safe_free(tkey);
228229 if(_tcsicmp(buffer,INI_INVALID))
229230 n[i] =_ttol(buffer);
230231 else
231232 ret++;
232233 }
233- safe_free(tKey);
234234 safe_free(tSection);
235235 safe_free(tIniFile);
236236 return ret;
@@ -243,23 +243,19 @@ IniGetKeyIntArray(char *section, char *key, int *n, int arraysize)
243243 int ret = 0;
244244 TCHAR *tIniFile = char_to_tchar(IniFile);
245245 TCHAR *tSection = char_to_tchar(section);
246- TCHAR *tKey = char_to_tchar(key);
247246 TCHAR buffer[INI_MAXLEN];
248- TCHAR keybuffer[INI_MAXLEN];
247+ char keybuffer[INI_MAXLEN];
249248 for(i=0;i<arraysize;i++){
250-#ifdef UNICODE
251- swprintf(keybuffer,L"%ls%d",tKey,i);
252-#else
253- sprintf(keybuffer,"%s%d",tKey,i);
254-#endif
249+ sprintf(keybuffer,"%s%d",key,i);
250+ TCHAR *tkey = char_to_tchar(keybuffer);
255251 GetPrivateProfileString
256- (tSection,keybuffer,INI_INVALID,buffer,INI_MAXLEN-1,tIniFile);
252+ (tSection,tkey,INI_INVALID,buffer,INI_MAXLEN-1,tIniFile);
253+ safe_free(tkey);
257254 if(_tcsicmp(buffer,INI_INVALID))
258255 n[i] =_ttol(buffer);
259256 else
260257 ret++;
261258 }
262- safe_free(tKey);
263259 safe_free(tSection);
264260 safe_free(tIniFile);
265261 return ret;
@@ -410,19 +406,15 @@ IniPutKeyInt32Array(char *section, char *key, int32 *n, int arraysize)
410406 int i;
411407 TCHAR *tIniFile = char_to_tchar(IniFile);
412408 TCHAR *tSection = char_to_tchar(section);
413- TCHAR *tKey = char_to_tchar(key);
414409 TCHAR buffer[INI_MAXLEN];
415- TCHAR keybuffer[INI_MAXLEN];
410+ char keybuffer[INI_MAXLEN];
416411 for(i=0;i<arraysize;i++){
417412 _stprintf(buffer, _T("%ld"), n[i]);
418-#ifdef UNICODE
419- _swprintf(keybuffer,L"%ls%d",key,i);
420-#else
421413 sprintf(keybuffer,"%s%d",key,i);
422-#endif
423- WritePrivateProfileString(tSection,keybuffer,buffer,tIniFile);
414+ TCHAR *tkey = char_to_tchar(keybuffer);
415+ WritePrivateProfileString(tSection,tkey,buffer,tIniFile);
416+ safe_free(tkey);
424417 }
425- safe_free(tKey);
426418 safe_free(tSection);
427419 safe_free(tIniFile);
428420 return 0;
@@ -434,19 +426,15 @@ IniPutKeyIntArray(char *section, char *key, int *n, int arraysize)
434426 int i;
435427 TCHAR *tIniFile = char_to_tchar(IniFile);
436428 TCHAR *tSection = char_to_tchar(section);
437- TCHAR *tKey = char_to_tchar(key);
438429 TCHAR buffer[INI_MAXLEN];
439- TCHAR keybuffer[INI_MAXLEN];
430+ char keybuffer[INI_MAXLEN];
440431 for(i=0;i<arraysize;i++){
441432 _stprintf(buffer,_T("%ld"),n[i]);
442-#ifdef UNICODE
443- _swprintf(keybuffer,L"%ls%d",key,i);
444-#else
445433 sprintf(keybuffer,"%s%d",key,i);
446-#endif
447- WritePrivateProfileString(tSection,keybuffer,buffer,tIniFile);
434+ TCHAR *tkey = char_to_tchar(keybuffer);
435+ WritePrivateProfileString(tSection,tkey,buffer,tIniFile);
436+ safe_free(tkey);
448437 }
449- safe_free(tKey);
450438 safe_free(tSection);
451439 safe_free(tIniFile);
452440 return 0;