INNER CODE UNIT · Rust
select_pages
edwardkim/rhwp · bindings/Native/src/lib.rs:376
fn select_pages(page_count: u32, target_page: Option<u32>) -> Result<Vec<u32>, String> {
if page_count == 0 {
return Err("문서에 페이지가 없습니다.".to_string());
}
match target_page {
Some(page) if page >= page_count => Err(format!(
"페이지 번호가 범위를 벗어났습니다 (0~{})",
page_count - 1
)),
Some(page) => Ok(vec![page]),
None => Ok((0..page_count).collect()),
}
}
fn normalize_page(page: i32) -> Result<Option<u32>, String> {
if page == ALL_PAGES {
Ok(None)