Add copyright header

This commit is contained in:
Vlasislav Kashin
2025-07-13 17:50:43 +03:00
parent 0ceb7c6c8c
commit da9f5e9198
19 changed files with 273 additions and 73 deletions

View File

@@ -1,75 +1,18 @@
// Copyright (C) 2009 The Libphonenumber Authors
// Copyright (C) 2025 The Kashin Vladislav (Rust adaptation author)
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
/** TODO: uncomment, move to macros and refactor
/**
* This file represents content of https://github.com/google/libphonenumber/tree/master/tools/cpp
*/
use thiserror::Error;
#[derive(Debug, Error)]
enum BuildError {
#[error("IO error occurred: {0}")]
IO(#[from] std::io::Error),
#[error("Line {line_num} is too long (max is {max_len} bytes)")]
LineTooLong { line_num: usize, max_len: usize },
#[error("Failed to parse prefix '{prefix}': {source}")]
PrefixParseError {
prefix: String,
#[source]
source: ParseIntError,
},
}
fn parse_prefixes(path: &str, prefixes: &mut BTreeMap<i32, String>) -> Result<(), BuildError> {
prefixes.clear();
let input = File::open(path)?;
const MAX_LINE_LENGTH: usize = 2 * 1024;
let mut reader = BufReader::new(input);
let mut line_buffer = String::with_capacity(MAX_LINE_LENGTH);
let mut line_number = 0;
loop {
line_number += 1;
line_buffer.clear();
let bytes_read = reader.read_line(&mut line_buffer)?;
if bytes_read == 0 {
break;
}
if !line_buffer.ends_with('\n') {
return Err(BuildError::LineTooLong {
line_num: line_number,
max_len: MAX_LINE_LENGTH,
});
}
let line = line_buffer.trim();
if line.is_empty() || line.starts_with('#') {
continue;
}
if let Some((prefix_str, desc)) = line.split_once('|') {
if prefix_str.is_empty() {
continue;
}
let prefix_code = prefix_str.parse().map_err(|e| BuildError::PrefixParseError {
prefix: prefix_str.to_string(),
source: e,
})?;
prefixes.insert(prefix_code, desc.to_string());
}
}
Ok(())
}
*/
fn main() {
protobuf_codegen::Codegen::new()