Skip to content

Commit

Permalink
cstr!("…")c"…"に置き換える
Browse files Browse the repository at this point in the history
  • Loading branch information
qryxip committed Apr 15, 2024
1 parent 1788d60 commit 777c592
Show file tree
Hide file tree
Showing 10 changed files with 71 additions and 102 deletions.
63 changes: 26 additions & 37 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

7 changes: 3 additions & 4 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,6 @@ chrono = { version = "0.4.26", default-features = false }
clap = "4.0.10"
color-eyre = "0.6.2"
colorchoice = "1.0.0"
cstr = "0.2.11" # https://github.com/dtolnay/syn/issues/1502
derive-getters = "0.2.0"
derive-new = "0.5.9"
derive_more = "0.99.17"
Expand Down Expand Up @@ -54,7 +53,7 @@ once_cell = "1.18.0"
ouroboros = "0.18.0"
parse-display = "0.8.2"
pretty_assertions = "1.3.0"
proc-macro2 = "1.0.69"
proc-macro2 = "1.0.80"
pyo3 = "0.20.3"
pyo3-asyncio = "0.20.0"
pyo3-log = "0.9.0"
Expand All @@ -70,7 +69,7 @@ serde_with = "3.3.0"
smallvec = "1.13.1"
strum = "0.24.1"
surf = "2.3.2"
syn = "2.0.38"
syn = "2.0.59"
tar = "0.4.38"
tempfile = "3.6.0"
test_util = { path = "crates/test_util" }
Expand All @@ -79,7 +78,7 @@ tokio = "1.25.0"
toml = "0.7.2"
tracing = "0.1.37"
tracing-subscriber = "0.3.16"
typetag = "0.2.5"
typetag = "0.2.7"
url = "2.3.0"
uuid = "1.4.0"
voicevox_core = { path = "crates/voicevox_core" }
Expand Down
1 change: 0 additions & 1 deletion crates/voicevox_core_c_api/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,6 @@ anstyle-query.workspace = true
camino.workspace = true
chrono = { workspace = true, default-features = false, features = ["clock"] }
colorchoice.workspace = true
cstr.workspace = true
derive-getters.workspace = true
futures.workspace = true
itertools.workspace = true
Expand Down
4 changes: 1 addition & 3 deletions crates/voicevox_core_c_api/src/drop_check.rs
Original file line number Diff line number Diff line change
Expand Up @@ -107,8 +107,6 @@ impl CStringDropChecker {
mod tests {
use std::ffi::{c_char, CStr};

use cstr::cstr;

use super::CStringDropChecker;

#[test]
Expand All @@ -118,7 +116,7 @@ mod tests {
)]
fn it_denies_duplicated_char_ptr() {
let checker = CStringDropChecker::new();
let s = cstr!("").to_owned();
let s = c"".to_owned();
checker.whitelist(checker.whitelist(s));
}

Expand Down
68 changes: 29 additions & 39 deletions crates/voicevox_core_c_api/src/result_code.rs
Original file line number Diff line number Diff line change
@@ -1,7 +1,5 @@
use std::ffi::CStr;

use cstr::cstr;

/// 処理結果を示す結果コード。
#[repr(i32)]
#[derive(Debug, PartialEq, Eq, Clone, Copy)]
Expand Down Expand Up @@ -60,52 +58,44 @@ pub enum VoicevoxResultCode {
pub(crate) const fn error_result_to_message(result_code: VoicevoxResultCode) -> &'static CStr {
use VoicevoxResultCode::*;
match result_code {
VOICEVOX_RESULT_NOT_LOADED_OPENJTALK_DICT_ERROR => {
cstr!("OpenJTalkの辞書が読み込まれていません")
}
VOICEVOX_RESULT_GPU_SUPPORT_ERROR => cstr!("GPU機能をサポートすることができません"),
VOICEVOX_RESULT_NOT_LOADED_OPENJTALK_DICT_ERROR => c"OpenJTalkの辞書が読み込まれていません",
VOICEVOX_RESULT_GPU_SUPPORT_ERROR => c"GPU機能をサポートすることができません",
VOICEVOX_RESULT_GET_SUPPORTED_DEVICES_ERROR => {
cstr!("サポートされているデバイス情報取得中にエラーが発生しました")
c"サポートされているデバイス情報取得中にエラーが発生しました"
}
VOICEVOX_RESULT_OK => cstr!("エラーが発生しませんでした"),
VOICEVOX_RESULT_STYLE_NOT_FOUND_ERROR => cstr!(
"指定されたIDに対するスタイルが見つかりませんでした。音声モデルが読み込まれていないか\
、読み込みが解除されています"
),
VOICEVOX_RESULT_MODEL_NOT_FOUND_ERROR => cstr!(
"指定されたIDに対する音声モデルが見つかりませんでした。読み込まれていないか、読み込み\
が既に解除されています"
),
VOICEVOX_RESULT_INFERENCE_ERROR => cstr!("推論に失敗しました"),
VOICEVOX_RESULT_EXTRACT_FULL_CONTEXT_LABEL_ERROR => {
cstr!("入力テキストからのフルコンテキストラベル抽出に失敗しました")
VOICEVOX_RESULT_OK => c"エラーが発生しませんでした",
VOICEVOX_RESULT_STYLE_NOT_FOUND_ERROR => {
c"指定されたIDに対するスタイルが見つかりませんでした。音声モデルが読み込まれていないか\
、読み込みが解除されています"
}
VOICEVOX_RESULT_INVALID_UTF8_INPUT_ERROR => cstr!("入力テキストが無効なUTF-8データでした"),
VOICEVOX_RESULT_PARSE_KANA_ERROR => {
cstr!("入力テキストをAquesTalk風記法としてパースすることに失敗しました")
VOICEVOX_RESULT_MODEL_NOT_FOUND_ERROR => {
c"指定されたIDに対する音声モデルが見つかりませんでした。読み込まれていないか、読み込み\
が既に解除されています"
}
VOICEVOX_RESULT_INVALID_AUDIO_QUERY_ERROR => cstr!("無効なaudio_queryです"),
VOICEVOX_RESULT_INVALID_ACCENT_PHRASE_ERROR => cstr!("無効なaccent_phraseです"),
VOICEVOX_RESULT_OPEN_ZIP_FILE_ERROR => cstr!("ZIPファイルのオープンに失敗しました"),
VOICEVOX_RESULT_READ_ZIP_ENTRY_ERROR => {
cstr!("ZIP内のファイルを読むことができませんでした")
}
VOICEVOX_RESULT_MODEL_ALREADY_LOADED_ERROR => cstr!("同じIDのモデルを読むことはできません"),
VOICEVOX_RESULT_STYLE_ALREADY_LOADED_ERROR => {
cstr!("同じIDのスタイルを読むことはできません")
VOICEVOX_RESULT_INFERENCE_ERROR => c"推論に失敗しました",
VOICEVOX_RESULT_EXTRACT_FULL_CONTEXT_LABEL_ERROR => {
c"入力テキストからのフルコンテキストラベル抽出に失敗しました"
}
VOICEVOX_RESULT_INVALID_MODEL_DATA_ERROR => {
cstr!("モデルデータを読むことができませんでした")
VOICEVOX_RESULT_INVALID_UTF8_INPUT_ERROR => c"入力テキストが無効なUTF-8データでした",
VOICEVOX_RESULT_PARSE_KANA_ERROR => {
c"入力テキストをAquesTalk風記法としてパースすることに失敗しました"
}
VOICEVOX_RESULT_LOAD_USER_DICT_ERROR => cstr!("ユーザー辞書を読み込めませんでした"),
VOICEVOX_RESULT_SAVE_USER_DICT_ERROR => cstr!("ユーザー辞書を書き込めませんでした"),
VOICEVOX_RESULT_INVALID_AUDIO_QUERY_ERROR => c"無効なaudio_queryです",
VOICEVOX_RESULT_INVALID_ACCENT_PHRASE_ERROR => c"無効なaccent_phraseです",
VOICEVOX_RESULT_OPEN_ZIP_FILE_ERROR => c"ZIPファイルのオープンに失敗しました",
VOICEVOX_RESULT_READ_ZIP_ENTRY_ERROR => c"ZIP内のファイルを読むことができませんでした",
VOICEVOX_RESULT_MODEL_ALREADY_LOADED_ERROR => c"同じIDのモデルを読むことはできません",
VOICEVOX_RESULT_STYLE_ALREADY_LOADED_ERROR => c"同じIDのスタイルを読むことはできません",
VOICEVOX_RESULT_INVALID_MODEL_DATA_ERROR => c"モデルデータを読むことができませんでした",
VOICEVOX_RESULT_LOAD_USER_DICT_ERROR => c"ユーザー辞書を読み込めませんでした",
VOICEVOX_RESULT_SAVE_USER_DICT_ERROR => c"ユーザー辞書を書き込めませんでした",
VOICEVOX_RESULT_USER_DICT_WORD_NOT_FOUND_ERROR => {
cstr!("ユーザー辞書に単語が見つかりませんでした")
c"ユーザー辞書に単語が見つかりませんでした"
}
VOICEVOX_RESULT_USE_USER_DICT_ERROR => cstr!("OpenJTalkのユーザー辞書の設定に失敗しました"),
VOICEVOX_RESULT_USE_USER_DICT_ERROR => c"OpenJTalkのユーザー辞書の設定に失敗しました",
VOICEVOX_RESULT_INVALID_USER_DICT_WORD_ERROR => {
cstr!("ユーザー辞書の単語のバリデーションに失敗しました")
c"ユーザー辞書の単語のバリデーションに失敗しました"
}
VOICEVOX_RESULT_INVALID_UUID_ERROR => cstr!("UUIDの変換に失敗しました"),
VOICEVOX_RESULT_INVALID_UUID_ERROR => c"UUIDの変換に失敗しました",
}
}
3 changes: 1 addition & 2 deletions crates/voicevox_core_c_api/tests/e2e/testcases/simple_tts.rs
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
use std::{collections::HashMap, ffi::CString, mem::MaybeUninit};

use assert_cmd::assert::AssertResult;
use cstr::cstr;
use libloading::Library;
use once_cell::sync::Lazy;
use serde::{Deserialize, Serialize};
Expand Down Expand Up @@ -43,7 +42,7 @@ impl assert_cdylib::TestCase for TestCase {
let model = {
let mut model = MaybeUninit::uninit();
assert_ok(voicevox_voice_model_new_from_path(
cstr!("../../model/sample.vvm").as_ptr(),
c"../../model/sample.vvm".as_ptr(),
model.as_mut_ptr(),
));
model.assume_init()
Expand Down
Loading

0 comments on commit 777c592

Please sign in to comment.