Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

INI クラスにおける読み書きの不具合 #1267

Open
yama-can opened this issue Sep 26, 2024 · 2 comments
Open

INI クラスにおける読み書きの不具合 #1267

yama-can opened this issue Sep 26, 2024 · 2 comments

Comments

@yama-can
Copy link
Member

予期しない動作の内容 | Describe the unexpected behavior

  1. 読み込みにおいてダブルクオーテーションを認識しない、トリプルクオーテーションを認識しない、バックラッシュを認識しない
  2. 書き込みにおいて同クラスにおいて読み込めないファイルを生成し、複数行のデータは = を区切り、エスケープ処理が行われない

再現方法 | To Reproduce
1番目の問題:以下のファイルを読み込む

[config]
# 問題なし
ok = OK
# 問題あり
data = "DATA"
desc = """desc"""
lines = lines/
lines/
lines

2番目の問題:ファイル 1 を読み込んだうえで write する。

発生環境

  • SIVINI.cpp により定義される loadwrite などを使用している際

備考 | Additional context

@yama-can
Copy link
Member Author

文化祭が終わり次第手を付けようとおもいます。

@Reputeless
Copy link
Member

ご提案ありがとうございます。
INI ファイルに標準的な仕様はないので、それら拡張機能の非サポートは不具合ではありません。
一方で、そうした拡張機能のサポートがあってもよいと思います。

どの拡張機能を有効にするかをユーザが選べるオプションを用意して実装すると良さそうです。
まずは拡張機能を分類し、それらの bool をまとめた struct INIOptionINI クラスに渡すようにするとよいでしょう。

Siv3D v0.8 のほうで進めてください。https://github.com/Siv3D/siv8/blob/main/Siv3D/src/Siv3D/INI/SivINI.cpp
上記実装をコピーし、INI2 のような名前で Main.cpp に実装すると進めやすいと思います。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants