I am now favoring the term "range" over "location".
#endif // _di_f_conversion_character_to_octal_
#ifndef _di_f_conversion_string_to_binary_signed_
- f_return_status f_conversion_string_to_binary_signed(const f_string string, f_number_signed *number, const f_string_location location, const bool negative) {
+ f_return_status f_conversion_string_to_binary_signed(const f_string string, f_number_signed *number, const f_string_range range, const bool negative) {
#ifndef _di_level_0_parameter_checking_
if (string == 0) return f_status_set_error(f_invalid_parameter);
if (number == 0) return f_status_set_error(f_invalid_parameter);
- if (location.start < 0) return f_status_set_error(f_invalid_parameter);
- if (location.stop < location.start) return f_status_set_error(f_invalid_parameter);
+ if (range.start < 0) return f_status_set_error(f_invalid_parameter);
+ if (range.stop < range.start) return f_status_set_error(f_invalid_parameter);
#endif // _di_level_0_parameter_checking_
uint8_t scale = 0;
f_number_unsigned digit = 0;
f_number_unsigned converted = 0;
- for (f_string_length i = location.start; i <= location.stop; i++) {
+ for (f_string_length i = range.start; i <= range.stop; i++) {
if (f_conversion_character_to_binary(string[i], &digit) == f_none) {
if (scale) {
scale++;
#endif // _di_f_conversion_string_to_binary_signed_
#ifndef _di_f_conversion_string_to_binary_unsigned_
- f_return_status f_conversion_string_to_binary_unsigned(const f_string string, f_number_unsigned *number, const f_string_location location) {
+ f_return_status f_conversion_string_to_binary_unsigned(const f_string string, f_number_unsigned *number, const f_string_range range) {
#ifndef _di_level_0_parameter_checking_
if (string == 0) return f_status_set_error(f_invalid_parameter);
if (number == 0) return f_status_set_error(f_invalid_parameter);
- if (location.start < 0) return f_status_set_error(f_invalid_parameter);
- if (location.stop < location.start) return f_status_set_error(f_invalid_parameter);
+ if (range.start < 0) return f_status_set_error(f_invalid_parameter);
+ if (range.stop < range.start) return f_status_set_error(f_invalid_parameter);
#endif // _di_level_0_parameter_checking_
uint8_t scale = 0;
f_number_unsigned digit = 0;
f_number_unsigned converted = 0;
- for (f_string_length i = location.start; i <= location.stop; i++) {
+ for (f_string_length i = range.start; i <= range.stop; i++) {
if (f_conversion_character_to_binary(string[i], &digit) == f_none) {
if (scale) {
scale++;
#endif // _di_f_conversion_string_to_binary_unsigned_
#ifndef _di_f_conversion_string_to_decimal_signed_
- f_return_status f_conversion_string_to_decimal_signed(const f_string string, f_number_signed *number, const f_string_location location, const bool negative) {
+ f_return_status f_conversion_string_to_decimal_signed(const f_string string, f_number_signed *number, const f_string_range range, const bool negative) {
#ifndef _di_level_0_parameter_checking_
if (string == 0) return f_status_set_error(f_invalid_parameter);
if (number == 0) return f_status_set_error(f_invalid_parameter);
- if (location.start < 0) return f_status_set_error(f_invalid_parameter);
- if (location.stop < location.start) return f_status_set_error(f_invalid_parameter);
+ if (range.start < 0) return f_status_set_error(f_invalid_parameter);
+ if (range.stop < range.start) return f_status_set_error(f_invalid_parameter);
#endif // _di_level_0_parameter_checking_
uint8_t scale = 0;
f_number_unsigned digit = 0;
f_number_unsigned converted = 0;
- for (f_string_length i = location.start; i <= location.stop; i++) {
+ for (f_string_length i = range.start; i <= range.stop; i++) {
if (f_conversion_character_to_decimal(string[i], &digit) == f_none) {
if (scale) {
#endif // _di_f_conversion_string_to_decimal_signed_
#ifndef _di_f_conversion_string_to_decimal_unsigned_
- f_return_status f_conversion_string_to_decimal_unsigned(const f_string string, f_number_unsigned *number, const f_string_location location) {
+ f_return_status f_conversion_string_to_decimal_unsigned(const f_string string, f_number_unsigned *number, const f_string_range range) {
#ifndef _di_level_0_parameter_checking_
if (string == 0) return f_status_set_error(f_invalid_parameter);
if (number == 0) return f_status_set_error(f_invalid_parameter);
- if (location.start < 0) return f_status_set_error(f_invalid_parameter);
- if (location.stop < location.start) return f_status_set_error(f_invalid_parameter);
+ if (range.start < 0) return f_status_set_error(f_invalid_parameter);
+ if (range.stop < range.start) return f_status_set_error(f_invalid_parameter);
#endif // _di_level_0_parameter_checking_
uint8_t scale = 0;
f_number_unsigned digit = 0;
f_number_unsigned converted = 0;
- for (f_string_length i = location.start; i <= location.stop; i++) {
+ for (f_string_length i = range.start; i <= range.stop; i++) {
if (f_conversion_character_to_decimal(string[i], &digit) == f_none) {
if (scale) {
#endif // _di_f_conversion_string_to_decimal_unsigned_
#ifndef _di_f_conversion_string_to_duodecimal_signed_
- f_return_status f_conversion_string_to_duodecimal_signed(const f_string string, f_number_signed *number, const f_string_location location, const bool negative) {
+ f_return_status f_conversion_string_to_duodecimal_signed(const f_string string, f_number_signed *number, const f_string_range range, const bool negative) {
#ifndef _di_level_0_parameter_checking_
if (string == 0) return f_status_set_error(f_invalid_parameter);
if (number == 0) return f_status_set_error(f_invalid_parameter);
- if (location.start < 0) return f_status_set_error(f_invalid_parameter);
- if (location.stop < location.start) return f_status_set_error(f_invalid_parameter);
+ if (range.start < 0) return f_status_set_error(f_invalid_parameter);
+ if (range.stop < range.start) return f_status_set_error(f_invalid_parameter);
#endif // _di_level_0_parameter_checking_
uint8_t scale = 0;
f_number_unsigned digit = 0;
f_number_unsigned converted = 0;
- for (f_string_length i = location.start; i <= location.stop; i++) {
+ for (f_string_length i = range.start; i <= range.stop; i++) {
if (f_conversion_character_to_duodecimal(string[i], &digit) == f_none) {
if (scale) {
#endif // _di_f_conversion_string_to_duodecimal_signed_
#ifndef _di_f_conversion_string_to_duodecimal_unsigned_
- f_return_status f_conversion_string_to_duodecimal_unsigned(const f_string string, f_number_unsigned *number, const f_string_location location) {
+ f_return_status f_conversion_string_to_duodecimal_unsigned(const f_string string, f_number_unsigned *number, const f_string_range range) {
#ifndef _di_level_0_parameter_checking_
if (string == 0) return f_status_set_error(f_invalid_parameter);
if (number == 0) return f_status_set_error(f_invalid_parameter);
- if (location.start < 0) return f_status_set_error(f_invalid_parameter);
- if (location.stop < location.start) return f_status_set_error(f_invalid_parameter);
+ if (range.start < 0) return f_status_set_error(f_invalid_parameter);
+ if (range.stop < range.start) return f_status_set_error(f_invalid_parameter);
#endif // _di_level_0_parameter_checking_
uint8_t scale = 0;
f_number_unsigned digit = 0;
f_number_unsigned converted = 0;
- for (f_string_length i = location.start; i <= location.stop; i++) {
+ for (f_string_length i = range.start; i <= range.stop; i++) {
if (f_conversion_character_to_duodecimal(string[i], &digit) == f_none) {
if (scale) {
#endif // _di_f_conversion_string_to_duodecimal_unsigned_
#ifndef _di_f_conversion_string_to_hexidecimal_signed_
- f_return_status f_conversion_string_to_hexidecimal_signed(const f_string string, f_number_signed *number, const f_string_location location, const bool negative) {
+ f_return_status f_conversion_string_to_hexidecimal_signed(const f_string string, f_number_signed *number, const f_string_range range, const bool negative) {
#ifndef _di_level_0_parameter_checking_
if (string == 0) return f_status_set_error(f_invalid_parameter);
if (number == 0) return f_status_set_error(f_invalid_parameter);
- if (location.start < 0) return f_status_set_error(f_invalid_parameter);
- if (location.stop < location.start) return f_status_set_error(f_invalid_parameter);
+ if (range.start < 0) return f_status_set_error(f_invalid_parameter);
+ if (range.stop < range.start) return f_status_set_error(f_invalid_parameter);
#endif // _di_level_0_parameter_checking_
uint8_t scale = 0;
f_number_unsigned digit = 0;
f_number_unsigned converted = 0;
- for (f_string_length i = location.start; i <= location.stop; i++) {
+ for (f_string_length i = range.start; i <= range.stop; i++) {
if (f_conversion_character_to_hexidecimal(string[i], &digit) == f_none) {
if (scale) {
#endif // _di_f_conversion_string_to_hexidecimal_signed_
#ifndef _di_f_conversion_string_to_hexidecimal_unsigned_
- f_return_status f_conversion_string_to_hexidecimal_unsigned(const f_string string, f_number_unsigned *number, const f_string_location location) {
+ f_return_status f_conversion_string_to_hexidecimal_unsigned(const f_string string, f_number_unsigned *number, const f_string_range range) {
#ifndef _di_level_0_parameter_checking_
if (string == 0) return f_status_set_error(f_invalid_parameter);
if (number == 0) return f_status_set_error(f_invalid_parameter);
- if (location.start < 0) return f_status_set_error(f_invalid_parameter);
- if (location.stop < location.start) return f_status_set_error(f_invalid_parameter);
+ if (range.start < 0) return f_status_set_error(f_invalid_parameter);
+ if (range.stop < range.start) return f_status_set_error(f_invalid_parameter);
#endif // _di_level_0_parameter_checking_
uint8_t scale = 0;
f_number_unsigned digit = 0;
f_number_unsigned converted = 0;
- for (f_string_length i = location.start; i <= location.stop; i++) {
+ for (f_string_length i = range.start; i <= range.stop; i++) {
if (f_conversion_character_to_hexidecimal(string[i], &digit) == f_none) {
if (scale) {
#endif // _di_f_conversion_string_to_hexidecimal_unsigned_
#ifndef _di_f_conversion_string_to_octal_signed_
- f_return_status f_conversion_string_to_octal_signed(const f_string string, f_number_signed *number, const f_string_location location, const bool negative) {
+ f_return_status f_conversion_string_to_octal_signed(const f_string string, f_number_signed *number, const f_string_range range, const bool negative) {
#ifndef _di_level_0_parameter_checking_
if (string == 0) return f_status_set_error(f_invalid_parameter);
if (number == 0) return f_status_set_error(f_invalid_parameter);
- if (location.start < 0) return f_status_set_error(f_invalid_parameter);
- if (location.stop < location.start) return f_status_set_error(f_invalid_parameter);
+ if (range.start < 0) return f_status_set_error(f_invalid_parameter);
+ if (range.stop < range.start) return f_status_set_error(f_invalid_parameter);
#endif // _di_level_0_parameter_checking_
uint8_t scale = 0;
f_number_unsigned digit = 0;
f_number_unsigned converted = 0;
- for (f_string_length i = location.start; i <= location.stop; i++) {
+ for (f_string_length i = range.start; i <= range.stop; i++) {
if (f_conversion_character_to_octal(string[i], &digit) == f_none) {
if (scale) {
#endif // _di_f_conversion_string_to_octal_signed_
#ifndef _di_f_conversion_string_to_octal_unsigned_
- f_return_status f_conversion_string_to_octal_unsigned(const f_string string, f_number_unsigned *number, const f_string_location location) {
+ f_return_status f_conversion_string_to_octal_unsigned(const f_string string, f_number_unsigned *number, const f_string_range range) {
#ifndef _di_level_0_parameter_checking_
if (string == 0) return f_status_set_error(f_invalid_parameter);
if (number == 0) return f_status_set_error(f_invalid_parameter);
- if (location.start < 0) return f_status_set_error(f_invalid_parameter);
- if (location.stop < location.start) return f_status_set_error(f_invalid_parameter);
+ if (range.start < 0) return f_status_set_error(f_invalid_parameter);
+ if (range.stop < range.start) return f_status_set_error(f_invalid_parameter);
#endif // _di_level_0_parameter_checking_
uint8_t scale = 0;
f_number_unsigned digit = 0;
f_number_unsigned converted = 0;
- for (f_string_length i = location.start; i <= location.stop; i++) {
+ for (f_string_length i = range.start; i <= range.stop; i++) {
if (f_conversion_character_to_octal(string[i], &digit) == f_none) {
if (scale) {
#endif // _di_f_conversion_string_to_octal_unsigned_
#ifndef _di_f_conversion_string_to_number_signed_
- f_return_status f_conversion_string_to_number_signed(const f_string string, f_number_signed *number, const f_string_location location) {
+ f_return_status f_conversion_string_to_number_signed(const f_string string, f_number_signed *number, const f_string_range range) {
#ifndef _di_level_0_parameter_checking_
if (string == 0) return f_status_set_error(f_invalid_parameter);
if (number == 0) return f_status_set_error(f_invalid_parameter);
- if (location.start < 0) return f_status_set_error(f_invalid_parameter);
- if (location.stop < location.start) return f_status_set_error(f_invalid_parameter);
+ if (range.start < 0) return f_status_set_error(f_invalid_parameter);
+ if (range.stop < range.start) return f_status_set_error(f_invalid_parameter);
#endif // _di_level_0_parameter_checking_
if (string[0] == '\0') {
f_string_length offset = 0;
f_status status = f_none;
- for (f_string_length i = location.start; i <= location.stop; i++) {
+ for (f_string_length i = range.start; i <= range.stop; i++) {
width = f_macro_utf_byte_width_is(string[i]);
if (width == 0) {
}
else {
if (mode == 0 && vector == 0) {
- width_max = (location.stop - i) + 1;
+ width_max = (range.stop - i) + 1;
status = f_utf_is_whitespace(string + i, width_max);
j = i + 1;
// Immediate next value must be either a number, 'x', 'X', 'd', 'D', 'o', 'O', 'b', or 'B'.
- if (j > location.stop) {
+ if (j > range.stop) {
*number = 0;
return f_none;
}
return f_status_set_error(f_number_invalid);
}
- f_string_location location_offset = f_string_location_initialize;
- location_offset.start = location.start + offset;
- location_offset.stop = location.stop;
+ f_string_range location_offset = f_string_range_initialize;
+ location_offset.start = range.start + offset;
+ location_offset.stop = range.stop;
if (mode == 10) {
return f_conversion_string_to_decimal_signed(string, number, location_offset, vector == -1);
#endif // _di_f_conversion_string_to_number_signed_
#ifndef _di_f_conversion_string_to_number_unsigned_
- f_return_status f_conversion_string_to_number_unsigned(const f_string string, f_number_unsigned *number, const f_string_location location) {
+ f_return_status f_conversion_string_to_number_unsigned(const f_string string, f_number_unsigned *number, const f_string_range range) {
#ifndef _di_level_0_parameter_checking_
if (string == 0) return f_status_set_error(f_invalid_parameter);
if (number == 0) return f_status_set_error(f_invalid_parameter);
- if (location.start < 0) return f_status_set_error(f_invalid_parameter);
- if (location.stop < location.start) return f_status_set_error(f_invalid_parameter);
+ if (range.start < 0) return f_status_set_error(f_invalid_parameter);
+ if (range.stop < range.start) return f_status_set_error(f_invalid_parameter);
#endif // _di_level_0_parameter_checking_
if (string[0] == '\0') {
f_status status = f_none;
int8_t sign_found = 0;
- for (f_string_length i = location.start; i <= location.stop; i++) {
+ for (f_string_length i = range.start; i <= range.stop; i++) {
width = f_macro_utf_byte_width_is(string[i]);
if (width == 0) {
}
else {
if (mode == 0) {
- width_max = (location.stop - i) + 1;
+ width_max = (range.stop - i) + 1;
status = f_utf_is_whitespace(string + i, width_max);
j = i + 1;
// Immediate next value must be either a number, 'x', 'X', 'd', 'D', 'o', 'O', 'b', or 'B'.
- if (j > location.stop) {
+ if (j > range.stop) {
*number = 0;
return f_none;
}
return f_status_set_error(f_number_invalid);
}
- f_string_location location_offset = f_string_location_initialize;
- location_offset.start = location.start + offset;
- location_offset.stop = location.stop;
+ f_string_range location_offset = f_string_range_initialize;
+ location_offset.start = range.start + offset;
+ location_offset.stop = range.stop;
if (mode == 10) {
status = f_conversion_string_to_decimal_unsigned(string, number, location_offset);
* f_number_underflow (with error bit) on integer underflow.
*/
#ifndef _di_f_conversion_string_to_binary_signed_
- extern f_return_status f_conversion_string_to_binary_signed(const f_string string, f_number_signed *number, const f_string_location location, const bool negative);
+ extern f_return_status f_conversion_string_to_binary_signed(const f_string string, f_number_signed *number, const f_string_range range, const bool negative);
#endif // _di_f_conversion_string_to_binary_signed_
/**
* Convert a series of positive binary number characters into a f_number_unsigned.
*
- * This will stop at one of the following: location.stop or a non-digit.
+ * This will stop at one of the following: range.stop or a non-digit.
* This will ignore NULL values.
* This will not process signed statuses (+/-).
*
* @param number
* This will store the value of the converted string.
* This value is only changed on success.
- * @param location
+ * @param range
* The start/stop range to convert.
*
* @return
* f_number_overflow (with error bit) on integer overflow.
*/
#ifndef _di_f_conversion_string_to_binary_unsigned_
- extern f_return_status f_conversion_string_to_binary_unsigned(const f_string string, f_number_unsigned *number, const f_string_location location);
+ extern f_return_status f_conversion_string_to_binary_unsigned(const f_string string, f_number_unsigned *number, const f_string_range range);
#endif // _di_f_conversion_string_to_binary_unsigned_
/**
* Convert a series of positive or negative decimal number characters into an f_number_signed.
*
- * This will stop at one of the following: location.stop or a non-digit.
+ * This will stop at one of the following: range.stop or a non-digit.
* This will ignore NULL values.
* This will not process signed statuses (+/-).
*
* @param number
* This will store the value of the converted string.
* This value is only changed on success.
- * @param location
+ * @param range
* The start/stop range to convert.
* @param negative
* Set to 0 to treat string as a positive number, 1 for as a negative number.
* f_number_underflow (with error bit) on integer underflow.
*/
#ifndef _di_f_conversion_string_to_decimal_signed_
- extern f_return_status f_conversion_string_to_decimal_signed(const f_string string, f_number_signed *number, const f_string_location location, const bool negative);
+ extern f_return_status f_conversion_string_to_decimal_signed(const f_string string, f_number_signed *number, const f_string_range range, const bool negative);
#endif // _di_f_conversion_string_to_decimal_signed_
/**
* Convert a series of positive decimal number characters into an f_number_unsigned.
*
- * This will stop at one of the following: location.stop or a non-digit.
+ * This will stop at one of the following: range.stop or a non-digit.
* This will ignore NULL values.
* This will not process signed statuses (+/-).
*
* @param number
* This will store the value of the converted string.
* This value is only changed on success.
- * @param location
+ * @param range
* The start/stop range to convert.
*
* @return
* f_number_overflow (with error bit) on integer overflow.
*/
#ifndef _di_f_conversion_string_to_decimal_unsigned_
- extern f_return_status f_conversion_string_to_decimal_unsigned(const f_string string, f_number_unsigned *number, const f_string_location location);
+ extern f_return_status f_conversion_string_to_decimal_unsigned(const f_string string, f_number_unsigned *number, const f_string_range range);
#endif // _di_f_conversion_string_to_decimal_unsigned_
/**
* Convert a series of positive or negative duodecimal number characters into an f_number_signed.
*
- * This will stop at one of the following: location.stop or a non-digit.
+ * This will stop at one of the following: range.stop or a non-digit.
* This will ignore NULL values.
* This will not process signed statuses (+/-).
*
* @param number
* This will store the value of the converted string.
* This value is only changed on success.
- * @param location
+ * @param range
* The start/stop range to convert.
* @param negative
* Set to 0 to treat string as a positive number, 1 for as a negative number.
* f_number_underflow (with error bit) on integer underflow.
*/
#ifndef _di_f_conversion_string_to_duodecimal_signed_
- extern f_return_status f_conversion_string_to_duodecimal_signed(const f_string string, f_number_signed *number, const f_string_location location, const bool negative);
+ extern f_return_status f_conversion_string_to_duodecimal_signed(const f_string string, f_number_signed *number, const f_string_range range, const bool negative);
#endif // _di_f_conversion_string_to_duodecimal_signed_
/**
* Convert a series of positive duodecimal number characters into an f_number_unsigned.
*
- * This will stop at one of the following: location.stop or a non-digit.
+ * This will stop at one of the following: range.stop or a non-digit.
* This will ignore NULL values.
* This will not process signed statuses (+/-).
*
* @param number
* This will store the value of the converted string.
* This value is only changed on success.
- * @param location
+ * @param range
* The start/stop range to convert.
*
* @return
* f_number_overflow (with error bit) on integer overflow.
*/
#ifndef _di_f_conversion_string_to_duodecimal_unsigned_
- extern f_return_status f_conversion_string_to_duodecimal_unsigned(const f_string string, f_number_unsigned *number, const f_string_location location);
+ extern f_return_status f_conversion_string_to_duodecimal_unsigned(const f_string string, f_number_unsigned *number, const f_string_range range);
#endif // _di_f_conversion_string_to_duodecimal_unsigned_
/**
* Convert a series of positive or negative hexidecimal number characters into an f_number_signed.
*
- * This will stop at one of the following: location.stop or a non-digit.
+ * This will stop at one of the following: range.stop or a non-digit.
* This will ignore NULL values.
* This will not process signed statuses (+/-).
*
* @param number
* This will store the value of the converted string.
* This value is only changed on success.
- * @param location
+ * @param range
* The start/stop range to convert.
* @param negative
* Set to 0 to treat string as a positive number, 1 for as a negative number.
* f_number_underflow (with error bit) on integer underflow.
*/
#ifndef _di_f_conversion_string_to_hexidecimal_signed_
- extern f_return_status f_conversion_string_to_hexidecimal_signed(const f_string string, f_number_signed *number, const f_string_location location, const bool negative);
+ extern f_return_status f_conversion_string_to_hexidecimal_signed(const f_string string, f_number_signed *number, const f_string_range range, const bool negative);
#endif // _di_f_conversion_string_to_hexidecimal_signed_
/**
* Convert a series of positive hexidecimal number characters into an f_number_unsigned.
*
- * This will stop at one of the following: location.stop or a non-digit.
+ * This will stop at one of the following: range.stop or a non-digit.
* This will ignore NULL values.
* This will not process signed statuses (+/-).
*
* @param number
* This will store the value of the converted string.
* This value is only changed on success.
- * @param location
+ * @param range
* The start/stop range to convert.
*
* @return
* f_number_overflow (with error bit) on integer overflow.
*/
#ifndef _di_f_conversion_string_to_hexidecimal_unsigned_
- extern f_return_status f_conversion_string_to_hexidecimal_unsigned(const f_string string, f_number_unsigned *number, const f_string_location location);
+ extern f_return_status f_conversion_string_to_hexidecimal_unsigned(const f_string string, f_number_unsigned *number, const f_string_range range);
#endif // _di_f_conversion_string_to_hexidecimal_unsigned_
/**
* Convert a series of positive or negative octal number characters into an f_number_signed.
*
- * This will stop at one of the following: location.stop or a non-digit.
+ * This will stop at one of the following: range.stop or a non-digit.
* This will ignore NULL values.
* This will not process signed statuses (+/-).
*
* @param number
* This will store the value of the converted string.
* This value is only changed on success.
- * @param location
+ * @param range
* The start/stop range to convert.
* @param negative
* Set to 0 to treat string as a positive number, 1 for as a negative number.
* f_number_overflow (with error bit) on integer overflow.
*/
#ifndef _di_f_conversion_string_to_octal_signed_
- extern f_return_status f_conversion_string_to_octal_signed(const f_string string, f_number_signed *number, const f_string_location location, const bool negative);
+ extern f_return_status f_conversion_string_to_octal_signed(const f_string string, f_number_signed *number, const f_string_range range, const bool negative);
#endif // _di_f_conversion_string_to_octal_signed_
/**
* Convert a series of positive octal number characters into an f_number_unsigned.
*
- * This will stop at one of the following: location.stop or a non-digit.
+ * This will stop at one of the following: range.stop or a non-digit.
* This will ignore NULL values.
* This will not process signed statuses (+/-).
*
* @param number
* This will store the value of the converted string.
* This value is only changed on success.
- * @param location
+ * @param range
* The start/stop range to convert.
*
* @return
* f_number_overflow (with error bit) on integer overflow.
*/
#ifndef _di_f_conversion_string_to_octal_unsigned_
- extern f_return_status f_conversion_string_to_octal_unsigned(const f_string string, f_number_unsigned *number, const f_string_location location);
+ extern f_return_status f_conversion_string_to_octal_unsigned(const f_string string, f_number_unsigned *number, const f_string_range range);
#endif // _di_f_conversion_string_to_octal_unsigned_
/**
* Convert a series of positive or negative number characters into an f_number_signed.
*
- * This will stop at one of the following: location.stop or a non-digit.
+ * This will stop at one of the following: range.stop or a non-digit.
* This will ignore NULL values.
* This will process signed statuses (+/-).
* This will detect based types as follows:
* @param number
* This will store the value of the converted string.
* This value is only changed on success.
- * @param location
+ * @param range
* The start/stop range to convert.
*
* @return
* @see strtoll()
*/
#ifndef _di_f_conversion_string_to_number_signed_
- extern f_return_status f_conversion_string_to_number_signed(const f_string string, f_number_signed *number, const f_string_location location);
+ extern f_return_status f_conversion_string_to_number_signed(const f_string string, f_number_signed *number, const f_string_range range);
#endif // _di_f_conversion_string_to_number_signed_
/**
* Convert a series of positive number characters into an f_number_unsigned.
*
- * This will stop at one of the following: location.stop or a non-digit.
+ * This will stop at one of the following: range.stop or a non-digit.
* This will ignore NULL values.
* This will not process signed statuses (+/-).
* This will detect based types as follows:
* @param number
* This will store the value of the converted string.
* This value is only changed on success.
- * @param location
+ * @param range
* The start/stop range to convert.
*
* @return
* @see strtoull()
*/
#ifndef _di_f_conversion_string_to_number_unsigned_
- extern f_return_status f_conversion_string_to_number_unsigned(const f_string string, f_number_unsigned *number, const f_string_location location);
+ extern f_return_status f_conversion_string_to_number_unsigned(const f_string string, f_number_unsigned *number, const f_string_range range);
#endif // _di_f_conversion_string_to_number_unsigned_
#ifdef __cplusplus
* An array of string locations representing where a delimit was applied or is to be applied with respect to some string.
*/
#ifndef _di_f_fss_delimits_
- typedef f_string_locations f_fss_delimits;
+ typedef f_string_ranges f_fss_delimits;
- #define f_fss_delimits_initialize f_string_locations_initialize
+ #define f_fss_delimits_initialize f_string_ranges_initialize
#define f_macro_fss_delimits_clear(delimits) f_macro_memory_structure_clear(delimits)
- #define f_macro_fss_delimits_new(status, delimits) f_macro_string_locations_new(status, delimits)
- #define f_macro_fss_delimits_delete(status, delimits) f_macro_string_locations_delete(status, delimits)
- #define f_macro_fss_delimits_destroy(status, delimits) f_macro_string_locations_destroy(status, delimits)
+ #define f_macro_fss_delimits_new(status, delimits) f_macro_string_ranges_new(status, delimits)
+ #define f_macro_fss_delimits_delete(status, delimits) f_macro_string_ranges_delete(status, delimits)
+ #define f_macro_fss_delimits_destroy(status, delimits) f_macro_string_ranges_destroy(status, delimits)
- #define f_macro_fss_delimits_delete_simple(delimits) f_macro_string_locations_delete_simple(delimits)
- #define f_macro_fss_delimits_destroy_simple(delimits) f_macro_string_locations_destroy_simple(delimits)
+ #define f_macro_fss_delimits_delete_simple(delimits) f_macro_string_ranges_delete_simple(delimits)
+ #define f_macro_fss_delimits_destroy_simple(delimits) f_macro_string_ranges_destroy_simple(delimits)
- #define f_macro_fss_delimits_resize(status, delimits, new_length) f_macro_string_locations_resize(status, delimits, new_length)
- #define f_macro_fss_delimits_adjust(status, delimits, new_length) f_macro_string_locations_adjust(status, delimits, new_length)
+ #define f_macro_fss_delimits_resize(status, delimits, new_length) f_macro_string_ranges_resize(status, delimits, new_length)
+ #define f_macro_fss_delimits_adjust(status, delimits, new_length) f_macro_string_ranges_adjust(status, delimits, new_length)
#endif // _di_f_fss_delimits_
/**
* This is a location that represents an object.
*/
#ifndef _di_fss_object_
- typedef f_string_location f_fss_object;
+ typedef f_string_range f_fss_object;
- #define f_fss_object_initialize f_string_location_initialize
+ #define f_fss_object_initialize f_string_range_initialize
#define f_macro_fss_object_new(status, object, length) status = f_memory_new((void **) & object, sizeof(f_fss_object), length)
*/
#ifndef _di_fss_content_
typedef struct {
- f_string_location *array;
+ f_string_range *array;
f_array_length size;
f_array_length used;
#define f_macro_fss_content_clear(content) f_macro_memory_structure_new(content)
- #define f_macro_fss_content_new(status, content, length) f_macro_memory_structure_new(status, content, f_string_location, length)
+ #define f_macro_fss_content_new(status, content, length) f_macro_memory_structure_new(status, content, f_string_range, length)
- #define f_macro_fss_content_delete(status, content) f_macro_memory_structure_delete(status, content, f_string_location)
- #define f_macro_fss_content_destroy(status, content) f_macro_memory_structure_destroy(status, content, f_string_location)
+ #define f_macro_fss_content_delete(status, content) f_macro_memory_structure_delete(status, content, f_string_range)
+ #define f_macro_fss_content_destroy(status, content) f_macro_memory_structure_destroy(status, content, f_string_range)
- #define f_macro_fss_content_delete_simple(content) f_macro_memory_structure_delete_simple(content, f_string_location)
- #define f_macro_fss_content_destroy_simple(content) f_macro_memory_structure_destroy_simple(content, f_string_location)
+ #define f_macro_fss_content_delete_simple(content) f_macro_memory_structure_delete_simple(content, f_string_range)
+ #define f_macro_fss_content_destroy_simple(content) f_macro_memory_structure_destroy_simple(content, f_string_range)
- #define f_macro_fss_content_resize(status, content, new_length) f_macro_memory_structure_resize(status, content, f_string_location, new_length)
- #define f_macro_fss_content_adjust(status, content, new_length) f_macro_memory_structure_adjust(status, content, f_string_location, new_length)
+ #define f_macro_fss_content_resize(status, content, new_length) f_macro_memory_structure_resize(status, content, f_string_range, new_length)
+ #define f_macro_fss_content_adjust(status, content, new_length) f_macro_memory_structure_adjust(status, content, f_string_range, new_length)
#endif // _di_fss_content_
/**
#endif // _di_f_print_string_dynamic_
#ifndef _di_f_print_string_dynamic_partial_
- f_return_status f_print_string_dynamic_partial(FILE *output, const f_string_dynamic buffer, const f_string_location location) {
+ f_return_status f_print_string_dynamic_partial(FILE *output, const f_string_dynamic buffer, const f_string_range range) {
#ifndef _di_level_0_parameter_checking_
- if (location.start < 0) return f_status_set_error(f_invalid_parameter);
- if (location.stop < location.start) return f_status_set_error(f_invalid_parameter);
+ if (range.start < 0) return f_status_set_error(f_invalid_parameter);
+ if (range.stop < range.start) return f_status_set_error(f_invalid_parameter);
if (buffer.used <= 0) return f_status_set_error(f_invalid_parameter);
- if (location.start >= buffer.used) return f_status_set_error(f_invalid_parameter);
- if (location.stop >= buffer.used) return f_status_set_error(f_invalid_parameter);
+ if (range.start >= buffer.used) return f_status_set_error(f_invalid_parameter);
+ if (range.stop >= buffer.used) return f_status_set_error(f_invalid_parameter);
#endif // _di_level_0_parameter_checking_
- register f_string_length i = location.start;
+ register f_string_length i = range.start;
- for (; i <= location.stop; i++) {
+ for (; i <= range.stop; i++) {
if (buffer.string[i] != f_string_eos) {
if (fputc(buffer.string[i], output) == 0) {
return f_status_set_error(f_error_output);
*
* Will not stop at \0.
* Will not print \0.
- * Will print the only the buffer range specified by location.
+ * Will print the only the buffer range specified by range.
*
* @param output
* The file to output to, including standard streams such as stdout and stderr.
* @param buffer
* The string to output.
- * @param location
+ * @param range
* The range within the provided string to print.
*
* @return
* f_invalid_parameter (with error bit) if a parameter is invalid.
*/
#ifndef _di_f_print_string_dynamic_partial_
- extern f_return_status f_print_string_dynamic_partial(FILE *output, const f_string_dynamic buffer, const f_string_location location);
+ extern f_return_status f_print_string_dynamic_partial(FILE *output, const f_string_dynamic buffer, const f_string_range range);
#endif // _di_f_print_string_dynamic_partial_
#ifdef __cplusplus
* start: the start position.
* stop: the stop position.
*/
-#ifndef _di_f_string_location_
+#ifndef _di_f_string_range_
typedef struct {
f_string_length start;
f_string_length stop;
- } f_string_location;
+ } f_string_range;
- #define f_string_location_initialize { 1, 0 }
-#endif // _di_f_string_location_
+ #define f_string_range_initialize { 1, 0 }
+#endif // _di_f_string_range_
/**
* An array of string locations.
* size: total amount of allocated space.
* used: total number of allocated spaces used.
*/
-#ifndef _di_f_string_locations_
+#ifndef _di_f_string_ranges_
typedef struct {
- f_string_location *array;
+ f_string_range *array;
f_array_length size;
f_array_length used;
- } f_string_locations;
+ } f_string_ranges;
- #define f_string_locations_initialize {0, 0, 0}
+ #define f_string_ranges_initialize {0, 0, 0}
- #define f_macro_string_locations_clear(locations) f_macro_memory_structure_clear(locations)
+ #define f_macro_string_ranges_clear(locations) f_macro_memory_structure_clear(locations)
- #define f_macro_string_locations_new(status, locations, length) f_macro_memory_structure_new(status, locations, f_string_location, length)
+ #define f_macro_string_ranges_new(status, locations, length) f_macro_memory_structure_new(status, locations, f_string_range, length)
- #define f_macro_string_locations_delete(status, locations) f_macro_memory_structure_delete(status, locations, f_string_location)
- #define f_macro_string_locations_destroy(status, locations) f_macro_memory_structure_destroy(status, locations, f_string_location)
+ #define f_macro_string_ranges_delete(status, locations) f_macro_memory_structure_delete(status, locations, f_string_range)
+ #define f_macro_string_ranges_destroy(status, locations) f_macro_memory_structure_destroy(status, locations, f_string_range)
- #define f_macro_string_locations_delete_simple(locations) f_macro_memory_structure_delete_simple(locations, f_string_location)
- #define f_macro_string_locations_destroy_simple(locations) f_macro_memory_structure_destroy_simple(locations, f_string_location)
+ #define f_macro_string_ranges_delete_simple(locations) f_macro_memory_structure_delete_simple(locations, f_string_range)
+ #define f_macro_string_ranges_destroy_simple(locations) f_macro_memory_structure_destroy_simple(locations, f_string_range)
- #define f_macro_string_locations_resize(status, locations, new_length) f_macro_memory_structure_resize(status, locations, f_string_location, new_length)
- #define f_macro_string_locations_adjust(status, locations, new_length) f_macro_memory_structure_adjust(status, locations, f_string_location, new_length)
-#endif // _di_f_string_locations_
+ #define f_macro_string_ranges_resize(status, locations, new_length) f_macro_memory_structure_resize(status, locations, f_string_range, new_length)
+ #define f_macro_string_ranges_adjust(status, locations, new_length) f_macro_memory_structure_adjust(status, locations, f_string_range, new_length)
+#endif // _di_f_string_ranges_
/**
* A string that supports contains a size attribute to handle dynamic allocations and deallocations.
* Designates a start and stop position that represents a sub-string inside of some parent string.
* use this to avoid resizing, restructuring, and reallocating the parent string to separate the sub-string.
*/
-#ifndef _di_f_utf_string_location_
+#ifndef _di_f_utf_string_range_
typedef struct {
f_utf_string_length start;
f_utf_string_length stop;
- } f_utf_string_location;
+ } f_utf_string_range;
- #define f_utf_string_location_initialize { 1, 0 }
+ #define f_utf_string_range_initialize { 1, 0 }
- #define f_macro_utf_string_location_new(status, utf_string_location, length) status = f_memory_new((void **) & utf_string_location, sizeof(f_utf_string_location), length)
- #define f_macro_utf_string_location_delete(status, utf_string_location, size) status = f_memory_delete((void **) & utf_string_location, sizeof(f_utf_string_location), size)
- #define f_macro_utf_string_location_destroy(status, utf_string_location, size) status = f_memory_destroy((void **) & utf_string_location, sizeof(f_utf_string_location), size)
+ #define f_macro_utf_string_range_new(status, utf_string_range, length) status = f_memory_new((void **) & utf_string_range, sizeof(f_utf_string_range), length)
+ #define f_macro_utf_string_range_delete(status, utf_string_range, size) status = f_memory_delete((void **) & utf_string_range, sizeof(f_utf_string_range), size)
+ #define f_macro_utf_string_range_destroy(status, utf_string_range, size) status = f_memory_destroy((void **) & utf_string_range, sizeof(f_utf_string_range), size)
- #define f_macro_utf_string_location_resize(status, utf_string_location, old_length, new_length) \
- status = f_memory_resize((void **) & utf_string_location, sizeof(f_utf_string_location), old_length, new_length)
+ #define f_macro_utf_string_range_resize(status, utf_string_range, old_length, new_length) \
+ status = f_memory_resize((void **) & utf_string_range, sizeof(f_utf_string_range), old_length, new_length)
- #define f_macro_utf_string_location_adjust(status, utf_string_location, old_length, new_length) \
- status = f_memory_adjust((void **) & utf_string_location, sizeof(f_utf_string_location), old_length, new_length)
-#endif // _di_f_utf_string_location_
+ #define f_macro_utf_string_range_adjust(status, utf_string_range, old_length, new_length) \
+ status = f_memory_adjust((void **) & utf_string_range, sizeof(f_utf_string_range), old_length, new_length)
+#endif // _di_f_utf_string_range_
/**
* An array of string locations.
* size: total amount of allocated space.
* used: total number of allocated spaces used.
*/
-#ifndef _di_f_utf_string_locations_
+#ifndef _di_f_utf_string_ranges_
typedef struct {
- f_utf_string_location *array;
+ f_utf_string_range *array;
f_array_length size;
f_array_length used;
- } f_utf_string_locations;
+ } f_utf_string_ranges;
- #define f_utf_string_locations_initialize {0, 0, 0}
+ #define f_utf_string_ranges_initialize {0, 0, 0}
- #define f_clear_utf_string_locations(locations) f_macro_memory_structure_clear(locations)
+ #define f_clear_utf_string_ranges(locations) f_macro_memory_structure_clear(locations)
- #define f_macro_utf_string_location_news(status, locations, length) f_macro_memory_structure_new(status, locations, f_utf_string_location, length)
+ #define f_macro_utf_string_range_news(status, locations, length) f_macro_memory_structure_new(status, locations, f_utf_string_range, length)
- #define f_macro_utf_string_location_deletes(status, locations) f_macro_memory_structure_delete(status, locations, f_utf_string_location)
- #define f_macro_utf_string_location_destroys(status, locations) f_macro_memory_structure_destroy(status, locations, f_utf_string_location)
+ #define f_macro_utf_string_range_deletes(status, locations) f_macro_memory_structure_delete(status, locations, f_utf_string_range)
+ #define f_macro_utf_string_range_destroys(status, locations) f_macro_memory_structure_destroy(status, locations, f_utf_string_range)
- #define f_macro_utf_string_location_resizes(status, locations, new_length) f_macro_memory_structure_resize(status, locations, f_utf_string_location, new_length)
- #define f_macro_utf_string_location_adjusts(status, locations, new_length) f_macro_memory_structure_adjust(status, locations, f_utf_string_location, new_length)
-#endif // _di_f_utf_string_locations_
+ #define f_macro_utf_string_range_resizes(status, locations, new_length) f_macro_memory_structure_resize(status, locations, f_utf_string_range, new_length)
+ #define f_macro_utf_string_range_adjusts(status, locations, new_length) f_macro_memory_structure_adjust(status, locations, f_utf_string_range, new_length)
+#endif // _di_f_utf_string_ranges_
/**
* A string that supports contains a size attribute to handle dynamic allocations and deallocations.
return f_status_set_error(f_no_data);
}
- f_string_location location = f_string_location_initialize;
- location.start = 0;
- location.stop = strlen(argument) - 1;
+ f_string_range range = f_string_range_initialize;
+ range.start = 0;
+ range.stop = strlen(argument) - 1;
- return f_conversion_string_to_number_signed(argument, number, location);
+ return f_conversion_string_to_number_signed(argument, number, range);
}
#endif // _fl_console_parameter_to_number_signed_
return f_status_set_error(f_no_data);
}
- f_string_location location = f_string_location_initialize;
- location.start = 0;
- location.stop = strlen(argument) - 1;
+ f_string_range range = f_string_range_initialize;
+ range.start = 0;
+ range.stop = strlen(argument) - 1;
- return f_conversion_string_to_number_unsigned(argument, number, location);
+ return f_conversion_string_to_number_unsigned(argument, number, range);
}
#endif // _fl_console_parameter_to_number_unsigned_
#endif // _di_fl_file_write_
#ifndef _di_fl_file_write_position_
- f_return_status fl_file_write_position(f_file *file, const f_string_dynamic buffer, const f_string_location position) {
+ f_return_status fl_file_write_position(f_file *file, const f_string_dynamic buffer, const f_string_range position) {
#ifndef _di_level_1_parameter_checking_
if (file == 0) return f_status_set_error(f_invalid_parameter);
if (position.start < position.stop) return f_status_set_error(f_invalid_parameter);
* f_invalid_parameter (with error bit) if a parameter is invalid.
*/
#ifndef _di_fl_file_write_position_
- extern f_return_status fl_file_write_position(f_file *file, const f_string_dynamic buffer, const f_string_location position);
+ extern f_return_status fl_file_write_position(f_file *file, const f_string_dynamic buffer, const f_string_range position);
#endif // _di_fl_file_write_position_
#ifdef __cplusplus
#endif
#ifndef _di_fl_fss_decrement_buffer_
- f_return_status fl_fss_decrement_buffer(const f_string_dynamic buffer, f_string_location *location, const f_string_length step) {
+ f_return_status fl_fss_decrement_buffer(const f_string_dynamic buffer, f_string_range *location, const f_string_length step) {
#ifndef _di_level_1_parameter_checking_
if (buffer.used <= 0) return f_status_set_error(f_invalid_parameter);
if (location->start < 0) return f_status_set_error(f_invalid_parameter);
if (f_conversion_character_is_hexidecimal(buffer.string[i]) == f_true) {
i++;
- f_string_location length = f_string_location_initialize;
+ f_string_range length = f_string_range_initialize;
length.start = i - 4;
length.stop = i;
if (f_conversion_character_is_hexidecimal(buffer.string[i]) == f_true) {
i++;
- f_string_location length = f_string_location_initialize;
+ f_string_range length = f_string_range_initialize;
length.start = i - 4;
length.stop = i;
#endif // _di_fl_fss_identify_file_
#ifndef _di_fl_fss_increment_buffer_
- f_return_status fl_fss_increment_buffer(const f_string_dynamic buffer, f_string_location *location, const f_string_length step) {
+ f_return_status fl_fss_increment_buffer(const f_string_dynamic buffer, f_string_range *location, const f_string_length step) {
#ifndef _di_level_1_parameter_checking_
if (buffer.used <= 0) return f_status_set_error(f_invalid_parameter);
if (location->start < 0) return f_status_set_error(f_invalid_parameter);
#endif // _di_fl_fss_increment_buffer_
#ifndef _di_fl_fss_is_graph_
- f_return_status fl_fss_is_graph(const f_string_dynamic buffer, const f_string_location location) {
+ f_return_status fl_fss_is_graph(const f_string_dynamic buffer, const f_string_range range) {
#ifndef _di_level_1_parameter_checking_
if (buffer.used <= 0) return f_status_set_error(f_invalid_parameter);
- if (location.start < 0) return f_status_set_error(f_invalid_parameter);
- if (location.stop < location.start) return f_status_set_error(f_invalid_parameter);
- if (location.start >= buffer.used) return f_status_set_error(f_invalid_parameter);
+ if (range.start < 0) return f_status_set_error(f_invalid_parameter);
+ if (range.stop < range.start) return f_status_set_error(f_invalid_parameter);
+ if (range.start >= buffer.used) return f_status_set_error(f_invalid_parameter);
#endif // _di_level_1_parameter_checking_
- f_string_length width_max = (location.stop - location.start) + 1;
+ f_string_length width_max = (range.stop - range.start) + 1;
- if (width_max > buffer.used - location.start) {
- width_max = buffer.used - location.start;
+ if (width_max > buffer.used - range.start) {
+ width_max = buffer.used - range.start;
}
// @todo update to check against zero-width space.
- return f_utf_is_graph(buffer.string + location.start, width_max);
+ return f_utf_is_graph(buffer.string + range.start, width_max);
}
#endif // _di_fl_fss_is_graph_
#ifndef _di_fl_fss_is_space_
- f_return_status fl_fss_is_space(const f_string_dynamic buffer, const f_string_location location) {
+ f_return_status fl_fss_is_space(const f_string_dynamic buffer, const f_string_range range) {
#ifndef _di_level_1_parameter_checking_
if (buffer.used <= 0) return f_status_set_error(f_invalid_parameter);
- if (location.start < 0) return f_status_set_error(f_invalid_parameter);
- if (location.stop < location.start) return f_status_set_error(f_invalid_parameter);
- if (location.start >= buffer.used) return f_status_set_error(f_invalid_parameter);
+ if (range.start < 0) return f_status_set_error(f_invalid_parameter);
+ if (range.stop < range.start) return f_status_set_error(f_invalid_parameter);
+ if (range.start >= buffer.used) return f_status_set_error(f_invalid_parameter);
#endif // _di_level_1_parameter_checking_
- f_string_length width_max = (location.stop - location.start) + 1;
+ f_string_length width_max = (range.stop - range.start) + 1;
- if (width_max > buffer.used - location.start) {
- width_max = buffer.used - location.start;
+ if (width_max > buffer.used - range.start) {
+ width_max = buffer.used - range.start;
}
// @todo update to check against control characters and zero-width space.
- return f_utf_is_whitespace(buffer.string + location.start, width_max);
+ return f_utf_is_whitespace(buffer.string + range.start, width_max);
}
#endif // _di_fl_fss_is_space_
#ifndef _di_fl_fss_skip_past_space_
- f_return_status fl_fss_skip_past_space(const f_string_dynamic buffer, f_string_location *location) {
+ f_return_status fl_fss_skip_past_space(const f_string_dynamic buffer, f_string_range *range) {
#ifndef _di_level_1_parameter_checking_
if (buffer.used <= 0) return f_status_set_error(f_invalid_parameter);
- if (location == 0) return f_status_set_error(f_invalid_parameter);
- if (location->start < 0) return f_status_set_error(f_invalid_parameter);
- if (location->stop < location->start) return f_status_set_error(f_invalid_parameter);
- if (location->start >= buffer.used) return f_status_set_error(f_invalid_parameter);
+ if (range == 0) return f_status_set_error(f_invalid_parameter);
+ if (range->start < 0) return f_status_set_error(f_invalid_parameter);
+ if (range->stop < range->start) return f_status_set_error(f_invalid_parameter);
+ if (range->start >= buffer.used) return f_status_set_error(f_invalid_parameter);
#endif // _di_level_1_parameter_checking_
f_status status = f_none;
unsigned short width = 0;
- f_string_length width_max = (location->stop - location->start) + 1;
+ f_string_length width_max = (range->stop - range->start) + 1;
- if (width_max > buffer.used - location->start) {
- width_max = buffer.used - location->start;
+ if (width_max > buffer.used - range->start) {
+ width_max = buffer.used - range->start;
}
for (;;) {
- if (buffer.string[location->start] != f_string_placeholder) {
- status = f_utf_is_whitespace(buffer.string + location->start, width_max);
+ if (buffer.string[range->start] != f_string_placeholder) {
+ status = f_utf_is_whitespace(buffer.string + range->start, width_max);
if (status == f_false) {
- status = f_utf_is_control(buffer.string + location->start, width_max);
+ status = f_utf_is_control(buffer.string + range->start, width_max);
if (status == f_false) {
- status = f_utf_is_zero_width(buffer.string + location->start, width_max);
+ status = f_utf_is_zero_width(buffer.string + range->start, width_max);
if (status == f_true) {
f_string_length next_width_max = 0;
- for (f_string_length next = location->start + 1; next < buffer.used && next <= location->stop; next += f_macro_utf_byte_width_is(buffer.string[next])) {
- next_width_max = (location->stop - next) + 1;
+ for (f_string_length next = range->start + 1; next < buffer.used && next <= range->stop; next += f_macro_utf_byte_width_is(buffer.string[next])) {
+ next_width_max = (range->stop - next) + 1;
status = f_utf_is_whitespace(buffer.string + next, width_max);
if (status == f_true) {
else if (f_status_is_error(status)) return status;
}
- if (buffer.string[location->start] == f_string_eol) return f_none_on_eol;
+ if (buffer.string[range->start] == f_string_eol) return f_none_on_eol;
- width = f_macro_utf_byte_width_is(buffer.string[location->start]);
+ width = f_macro_utf_byte_width_is(buffer.string[range->start]);
if (width == 0) {
width = 1;
return f_status_set_error(f_incomplete_utf);
}
else {
- if (location->start + width >= buffer.used) return f_status_set_error(f_incomplete_utf_on_eos);
- if (location->start + width > location->stop) return f_status_set_error(f_incomplete_utf_on_stop);
+ if (range->start + width >= buffer.used) return f_status_set_error(f_incomplete_utf_on_eos);
+ if (range->start + width > range->stop) return f_status_set_error(f_incomplete_utf_on_stop);
}
- location->start += width;
+ range->start += width;
- if (location->start >= buffer.used) return f_none_on_eos;
- if (location->start > location->stop) return f_none_on_stop;
+ if (range->start >= buffer.used) return f_none_on_eos;
+ if (range->start > range->stop) return f_none_on_stop;
- width_max = (location->stop - location->start) + 1;
+ width_max = (range->stop - range->start) + 1;
- if (width_max > buffer.used - location->start) {
- width_max = buffer.used - location->start;
+ if (width_max > buffer.used - range->start) {
+ width_max = buffer.used - range->start;
}
} // for
#endif // _di_fl_fss_skip_past_space_
#ifndef _di_fl_fss_skip_past_non_graph_
- f_return_status fl_fss_skip_past_non_graph(const f_string_dynamic buffer, f_string_location *location) {
+ f_return_status fl_fss_skip_past_non_graph(const f_string_dynamic buffer, f_string_range *range) {
#ifndef _di_level_1_parameter_checking_
if (buffer.used <= 0) return f_status_set_error(f_invalid_parameter);
- if (location == 0) return f_status_set_error(f_invalid_parameter);
- if (location->start < 0) return f_status_set_error(f_invalid_parameter);
- if (location->stop < location->start) return f_status_set_error(f_invalid_parameter);
- if (location->start >= buffer.used) return f_status_set_error(f_invalid_parameter);
+ if (range == 0) return f_status_set_error(f_invalid_parameter);
+ if (range->start < 0) return f_status_set_error(f_invalid_parameter);
+ if (range->stop < range->start) return f_status_set_error(f_invalid_parameter);
+ if (range->start >= buffer.used) return f_status_set_error(f_invalid_parameter);
#endif // _di_level_1_parameter_checking_
f_status status = f_none;
unsigned short width = 0;
- f_string_length width_max = (location->stop - location->start) + 1;
+ f_string_length width_max = (range->stop - range->start) + 1;
- if (width_max > buffer.used - location->start) {
- width_max = buffer.used - location->start;
+ if (width_max > buffer.used - range->start) {
+ width_max = buffer.used - range->start;
}
for (;;) {
- if (buffer.string[location->start] != f_string_placeholder) {
- status = f_utf_is_graph(buffer.string + location->start, width_max);
+ if (buffer.string[range->start] != f_string_placeholder) {
+ status = f_utf_is_graph(buffer.string + range->start, width_max);
if (status == f_true) {
// stop at a graph.
break;
}
else if (status == f_false) {
- status = f_utf_is_zero_width(buffer.string + location->start, width_max);
+ status = f_utf_is_zero_width(buffer.string + range->start, width_max);
if (status == f_true) {
f_string_length next_width_max = 0;
- for (f_string_length next = location->start + 1; next < buffer.used && next <= location->stop; next += f_macro_utf_byte_width_is(buffer.string[next])) {
- next_width_max = (location->stop - next) + 1;
+ for (f_string_length next = range->start + 1; next < buffer.used && next <= range->stop; next += f_macro_utf_byte_width_is(buffer.string[next])) {
+ next_width_max = (range->stop - next) + 1;
status = f_utf_is_graph(buffer.string + next, width_max);
if (status == f_true) {
if (f_status_is_error(status)) return status;
- width = f_macro_utf_byte_width_is(buffer.string[location->start]);
+ width = f_macro_utf_byte_width_is(buffer.string[range->start]);
if (width == 0) {
width = 1;
return f_status_set_error(f_incomplete_utf);
}
else {
- if (location->start + width >= buffer.used) return f_status_set_error(f_incomplete_utf_on_eos);
- if (location->start + width > location->stop) return f_status_set_error(f_incomplete_utf_on_stop);
+ if (range->start + width >= buffer.used) return f_status_set_error(f_incomplete_utf_on_eos);
+ if (range->start + width > range->stop) return f_status_set_error(f_incomplete_utf_on_stop);
}
- location->start += width;
+ range->start += width;
- if (location->start >= buffer.used) return f_none_on_eos;
- if (location->start > location->stop) return f_none_on_stop;
+ if (range->start >= buffer.used) return f_none_on_eos;
+ if (range->start > range->stop) return f_none_on_stop;
- width_max = (location->stop - location->start) + 1;
+ width_max = (range->stop - range->start) + 1;
- if (width_max > buffer.used - location->start) {
- width_max = buffer.used - location->start;
+ if (width_max > buffer.used - range->start) {
+ width_max = buffer.used - range->start;
}
} // for
#endif // _di_fl_fss_skip_past_non_graph_
#ifndef _di_fl_fss_shift_delimiters_
- f_return_status fl_fss_shift_delimiters(f_string_dynamic *buffer, const f_string_location location) {
+ f_return_status fl_fss_shift_delimiters(f_string_dynamic *buffer, const f_string_range range) {
#ifndef _di_level_1_parameter_checking_
if (buffer->used <= 0) return f_status_set_error(f_invalid_parameter);
- if (location.start < 0) return f_status_set_error(f_invalid_parameter);
- if (location.stop < location.start) return f_status_set_error(f_invalid_parameter);
- if (location.start >= buffer->used) return f_status_set_error(f_invalid_parameter);
+ if (range.start < 0) return f_status_set_error(f_invalid_parameter);
+ if (range.stop < range.start) return f_status_set_error(f_invalid_parameter);
+ if (range.start >= buffer->used) return f_status_set_error(f_invalid_parameter);
#endif // _di_level_1_parameter_checking_
f_string_length position = 0;
unsigned short utf_width = 0;
unsigned short i = 0;
- position = location.start;
+ position = range.start;
- while (position < buffer->used && position <= location.stop) {
+ while (position < buffer->used && position <= range.stop) {
if (buffer->string[position] == f_fss_delimit_placeholder) {
distance++;
}
// do not waste time trying to process what is only going to be replaced with a delimit placeholder
- if (position + distance >= buffer->used || position + distance > location.stop) {
+ if (position + distance >= buffer->used || position + distance > range.stop) {
break;
}
utf_width = f_macro_utf_byte_width_is(buffer->string[position]);
if (utf_width > 1) {
- // not enough space in buffer or in location range to process UTF-8 character.
- if (position + utf_width >= buffer->used || position + utf_width > location.stop) {
+ // not enough space in buffer or in range range to process UTF-8 character.
+ if (position + utf_width >= buffer->used || position + utf_width > range.stop) {
return f_status_set_error(f_invalid_utf);
}
}
if (distance > 0) {
- while (position < buffer->used + distance && position <= location.stop) {
+ while (position < buffer->used + distance && position <= range.stop) {
buffer->string[position] = f_fss_delimit_placeholder;
position++;
}
*
* @param buffer
* The string to process.
- * @param location
+ * @param range
* The start and stop positions to be incremented.
* The start position will be incremented by step.
* @param step
*
* @return
* f_none on success.
- * f_none_on_stop if the stop location is reached before all steps are completed.
+ * f_none_on_stop if the stop range is reached before all steps are completed.
* f_none_on_eos if the end of buffer is reached before all steps are completed.
* f_invalid_parameter (with error bit) if a parameter is invalid.
- * f_incomplete_utf_on_stop (with error bit) if the stop location is reached before the complete UTF-8 character can be processed.
+ * f_incomplete_utf_on_stop (with error bit) if the stop range is reached before the complete UTF-8 character can be processed.
* f_incomplete_utf_on_eos (with error bit) if the end of buffer is reached before the complete UTF-8 character can be processed.
*/
#ifndef _di_fl_fss_decrement_buffer_
- extern f_return_status fl_fss_decrement_buffer(const f_string_dynamic buffer, f_string_location *location, const f_string_length step);
+ extern f_return_status fl_fss_decrement_buffer(const f_string_dynamic buffer, f_string_range *range, const f_string_length step);
#endif // _di_fl_fss_decrement_buffer_
/**
*
* @param buffer
* The string to process.
- * @param location
+ * @param range
* The start and stop positions to be incremented.
* The start position will be incremented by step.
* @param step
*
* @return
* f_none on success.
- * f_none_on_stop if the stop location is reached before all steps are completed.
+ * f_none_on_stop if the stop range is reached before all steps are completed.
* f_none_on_eos if the end of buffer is reached before all steps are completed.
* f_invalid_parameter (with error bit) if a parameter is invalid.
- * f_incomplete_utf_on_stop (with error bit) if the stop location is reached before the complete UTF-8 character can be processed.
+ * f_incomplete_utf_on_stop (with error bit) if the stop range is reached before the complete UTF-8 character can be processed.
* f_incomplete_utf_on_eos (with error bit) if the end of buffer is reached before the complete UTF-8 character can be processed.
*/
#ifndef _di_fl_fss_increment_buffer_
- extern f_return_status fl_fss_increment_buffer(const f_string_dynamic buffer, f_string_location *location, const f_string_length step);
+ extern f_return_status fl_fss_increment_buffer(const f_string_dynamic buffer, f_string_range *range, const f_string_length step);
#endif // _di_fl_fss_increment_buffer_
/**
*
* @param buffer
* The string to process.
- * @param location
+ * @param range
* The character at the start position will be checked against the graph.
* @param header
* The header data to populate with results of this function.
* f_invalid_parameter (with error bit) if a parameter is invalid.
*/
#ifndef _di_fl_fss_is_graph_
- extern f_return_status fl_fss_is_graph(const f_string_dynamic buffer, const f_string_location location);
+ extern f_return_status fl_fss_is_graph(const f_string_dynamic buffer, const f_string_range range);
#endif // _di_fl_fss_is_graph_
/**
*
* @param buffer
* The string to process.
- * @param location
+ * @param range
* The character at the start position will be checked against the graph.
* @param header
* The header data to populate with results of this function.
* f_invalid_parameter (with error bit) if a parameter is invalid.
*/
#ifndef _di_fl_fss_is_space_
- extern f_return_status fl_fss_is_space(const f_string_dynamic buffer, const f_string_location location);
+ extern f_return_status fl_fss_is_space(const f_string_dynamic buffer, const f_string_range range);
#endif // _di_fl_fss_is_space_
/**
* @param buffer
* The string to process.
* This gets updated.
- * @param location
+ * @param range
* A restriction on where within the buffer the shifting happens.
*
* @return
* f_none on success.
- * f_invalid_utf (with error bit) if UTF-8 cannot be fully processed (buffer or location range not long enough).
+ * f_invalid_utf (with error bit) if UTF-8 cannot be fully processed (buffer or range range not long enough).
* f_invalid_parameter (with error bit) if a parameter is invalid.
*/
#ifndef _di_fl_fss_shift_delimiters_
- extern f_return_status fl_fss_shift_delimiters(f_string_dynamic *buffer, const f_string_location location);
+ extern f_return_status fl_fss_shift_delimiters(f_string_dynamic *buffer, const f_string_range range);
#endif // _di_fl_fss_shift_delimiters_
/**
*
* @param buffer
* The string to process.
- * @param location
+ * @param range
* The start and stop positions in the buffer being processed.
- * This increments location->start.
+ * This increments range->start.
*
* @return
* f_none on success.
* f_invalid_parameter (with error bit) if a parameter is invalid.
*/
#ifndef _di_fl_fss_skip_past_space_
- extern f_return_status fl_fss_skip_past_space(const f_string_dynamic buffer, f_string_location *location);
+ extern f_return_status fl_fss_skip_past_space(const f_string_dynamic buffer, f_string_range *range);
#endif // _di_fl_fss_skip_past_space_
/**
*
* @param buffer
* The string to process.
- * @param location
+ * @param range
* The start and stop positions in the buffer being processed.
- * This increments location->start.
+ * This increments range->start.
*
* @return
* f_none on success.
* f_invalid_parameter (with error bit) if a parameter is invalid.
*/
#ifndef _di_fl_fss_skip_past_non_graph_
- extern f_return_status fl_fss_skip_past_non_graph(const f_string_dynamic buffer, f_string_location *location);
+ extern f_return_status fl_fss_skip_past_non_graph(const f_string_dynamic buffer, f_string_range *range);
#endif // _di_fl_fss_skip_past_non_graph_
#ifdef __cplusplus
#endif
#ifndef _di_fl_fss_basic_object_read_
- f_return_status fl_fss_basic_object_read(f_string_dynamic *buffer, f_string_location *location, f_fss_object *found) {
+ f_return_status fl_fss_basic_object_read(f_string_dynamic *buffer, f_string_range *location, f_fss_object *found) {
#ifndef _di_level_1_parameter_checking_
if (buffer == 0) return f_status_set_error(f_invalid_parameter);
if (location == 0) return f_status_set_error(f_invalid_parameter);
#endif // _di_fl_fss_basic_object_read_
#ifndef _di_fl_fss_basic_content_read_
- f_return_status fl_fss_basic_content_read(f_string_dynamic *buffer, f_string_location *location, f_fss_content *found) {
+ f_return_status fl_fss_basic_content_read(f_string_dynamic *buffer, f_string_range *location, f_fss_content *found) {
#ifndef _di_level_1_parameter_checking_
if (buffer == 0) return f_status_set_error(f_invalid_parameter);
if (location == 0) return f_status_set_error(f_invalid_parameter);
#endif // _di_fl_fss_basic_content_read_
#ifndef _di_fl_fss_basic_object_write_
- f_return_status fl_fss_basic_object_write(f_string_dynamic *buffer, const f_string_dynamic object, f_string_location *location) {
+ f_return_status fl_fss_basic_object_write(f_string_dynamic *buffer, const f_string_dynamic object, f_string_range *location) {
#ifndef _di_level_1_parameter_checking_
if (buffer == 0) return f_status_set_error(f_invalid_parameter);
#endif // _di_level_1_parameter_checking_
f_status status = f_none;
bool quoted = f_false;
- f_string_location buffer_position = f_string_location_initialize;
+ f_string_range buffer_position = f_string_range_initialize;
f_string_length start_position = f_string_initialize;
f_string_length pre_allocate_size = 0;
#endif // _di_fl_fss_basic_object_write_
#ifndef _di_fl_fss_basic_content_write_
- f_return_status fl_fss_basic_content_write(f_string_dynamic *buffer, const f_string_dynamic content, f_string_location *location) {
+ f_return_status fl_fss_basic_content_write(f_string_dynamic *buffer, const f_string_dynamic content, f_string_range *location) {
#ifndef _di_level_1_parameter_checking_
if (buffer == 0) return f_status_set_error(f_invalid_parameter);
#endif // _di_level_1_parameter_checking_
f_status status = f_none;
- f_string_location input_position = f_string_location_initialize;
- f_string_location buffer_position = f_string_location_initialize;
+ f_string_range input_position = f_string_range_initialize;
+ f_string_range buffer_position = f_string_range_initialize;
f_string_length pre_allocate_size = 0;
// add an additional 1 to ensure that there is room for the terminating newline.
* f_invalid_parameter (with error bit) if a parameter is invalid.
*/
#ifndef _di_fl_fss_basic_object_read_
- extern f_return_status fl_fss_basic_object_read(f_string_dynamic *buffer, f_string_location *location, f_fss_object *found);
+ extern f_return_status fl_fss_basic_object_read(f_string_dynamic *buffer, f_string_range *location, f_fss_object *found);
#endif // _di_fl_fss_basic_object_read_
/**
* f_invalid_parameter (with error bit) if a parameter is invalid.
*/
#ifndef _di_fl_fss_basic_content_read_
- extern f_return_status fl_fss_basic_content_read(f_string_dynamic *buffer, f_string_location *location, f_fss_content *found);
+ extern f_return_status fl_fss_basic_content_read(f_string_dynamic *buffer, f_string_range *location, f_fss_content *found);
#endif // _di_fl_fss_basic_content_read_
/**
* f_invalid_parameter (with error bit) if a parameter is invalid.
*/
#ifndef _di_fl_fss_basic_object_write_
- extern f_return_status fl_fss_basic_object_write(f_string_dynamic *buffer, const f_string_dynamic object, f_string_location *location);
+ extern f_return_status fl_fss_basic_object_write(f_string_dynamic *buffer, const f_string_dynamic object, f_string_range *location);
#endif // _di_fl_fss_basic_object_write_
/**
* f_invalid_parameter (with error bit) if a parameter is invalid.
*/
#ifndef _di_fl_fss_basic_content_write_
- extern f_return_status fl_fss_basic_content_write(f_string_dynamic *buffer, const f_string_dynamic content, f_string_location *location);
+ extern f_return_status fl_fss_basic_content_write(f_string_dynamic *buffer, const f_string_dynamic content, f_string_range *location);
#endif // _di_fl_fss_basic_content_write_
#ifdef __cplusplus
#endif
#ifndef _di_fl_fss_basic_list_object_read_
- f_return_status fl_fss_basic_list_object_read(f_string_dynamic *buffer, f_string_location *location, f_fss_object *found) {
+ f_return_status fl_fss_basic_list_object_read(f_string_dynamic *buffer, f_string_range *location, f_fss_object *found) {
#ifndef _di_level_1_parameter_checking_
if (buffer == 0) return f_status_set_error(f_invalid_parameter);
if (location == 0) return f_status_set_error(f_invalid_parameter);
#endif // _di_fl_fss_basic_list_object_read_
#ifndef _di_fl_fss_basic_list_content_read_
- f_return_status fl_fss_basic_list_content_read(f_string_dynamic *buffer, f_string_location *location, f_fss_content *found) {
+ f_return_status fl_fss_basic_list_content_read(f_string_dynamic *buffer, f_string_range *location, f_fss_content *found) {
#ifndef _di_level_1_parameter_checking_
if (buffer == 0) return f_status_set_error(f_invalid_parameter);
if (location == 0) return f_status_set_error(f_invalid_parameter);
#endif // _di_fl_fss_basic_list_content_read_
#ifndef _di_fl_fss_basic_list_object_write_
- f_return_status fl_fss_basic_list_object_write(const f_string_dynamic object, f_string_location *location, f_string_dynamic *buffer) {
+ f_return_status fl_fss_basic_list_object_write(const f_string_dynamic object, f_string_range *location, f_string_dynamic *buffer) {
#ifndef _di_level_1_parameter_checking_
if (buffer == 0) return f_status_set_error(f_invalid_parameter);
#endif // _di_level_1_parameter_checking_
f_status status = f_none;
- f_string_location buffer_position = f_string_location_initialize;
+ f_string_range buffer_position = f_string_range_initialize;
f_string_length start_position = f_string_initialize;
f_string_length pre_allocate_size = 0;
f_string_length start_buffer = 0;
#endif // _di_fl_fss_basic_list_object_write_
#ifndef _di_fl_fss_basic_list_content_write_
- f_return_status fl_fss_basic_list_content_write(const f_string_dynamic content, f_string_location *location, f_string_dynamic *buffer) {
+ f_return_status fl_fss_basic_list_content_write(const f_string_dynamic content, f_string_range *location, f_string_dynamic *buffer) {
#ifndef _di_level_1_parameter_checking_
if (buffer == 0) return f_status_set_error(f_invalid_parameter);
#endif // _di_level_1_parameter_checking_
bool is_comment = f_false;
bool has_graph = f_false;
- f_string_location buffer_position = f_string_location_initialize;
+ f_string_range buffer_position = f_string_range_initialize;
f_string_length start_position = f_string_initialize;
f_string_length pre_allocate_size = 0;
* f_invalid_parameter (with error bit) if a parameter is invalid.
*/
#ifndef _di_fl_fss_basic_list_object_read_
- extern f_return_status fl_fss_basic_list_object_read(f_string_dynamic *buffer, f_string_location *location, f_fss_object *found);
+ extern f_return_status fl_fss_basic_list_object_read(f_string_dynamic *buffer, f_string_range *location, f_fss_object *found);
#endif // _di_fl_fss_basic_list_object_read_
/**
* f_invalid_parameter (with error bit) if a parameter is invalid.
*/
#ifndef _di_fl_fss_basic_list_content_read_
- extern f_return_status fl_fss_basic_list_content_read(f_string_dynamic *buffer, f_string_location *location, f_fss_content *found);
+ extern f_return_status fl_fss_basic_list_content_read(f_string_dynamic *buffer, f_string_range *location, f_fss_content *found);
#endif // _di_fl_fss_basic_list_content_read_
/**
* f_invalid_parameter (with error bit) if a parameter is invalid.
*/
#ifndef _di_fl_fss_basic_list_object_write_
- extern f_return_status fl_fss_basic_list_object_write(const f_string_dynamic object, f_string_location *location, f_string_dynamic *buffer);
+ extern f_return_status fl_fss_basic_list_object_write(const f_string_dynamic object, f_string_range *location, f_string_dynamic *buffer);
#endif // _di_fl_fss_basic_list_object_write_
/**
* f_invalid_parameter (with error bit) if a parameter is invalid.
*/
#ifndef _di_fl_fss_basic_list_content_write_
- extern f_return_status fl_fss_basic_list_content_write(const f_string_dynamic content, f_string_location *location, f_string_dynamic *buffer);
+ extern f_return_status fl_fss_basic_list_content_write(const f_string_dynamic content, f_string_range *location, f_string_dynamic *buffer);
#endif // _di_fl_fss_basic_list_content_write_
#ifdef __cplusplus
#endif
#ifndef _di_fl_fss_extended_object_read_
- f_return_status fl_fss_extended_object_read(f_string_dynamic *buffer, f_string_location *location, f_fss_object *found) {
+ f_return_status fl_fss_extended_object_read(f_string_dynamic *buffer, f_string_range *location, f_fss_object *found) {
#ifndef _di_level_1_parameter_checking_
if (buffer == 0) return f_status_set_error(f_invalid_parameter);
if (location == 0) return f_status_set_error(f_invalid_parameter);
#endif // _di_fl_fss_extended_object_read_
#ifndef _di_fl_fss_extended_content_read_
- f_return_status fl_fss_extended_content_read(f_string_dynamic *buffer, f_string_location *location, f_fss_content *found) {
+ f_return_status fl_fss_extended_content_read(f_string_dynamic *buffer, f_string_range *location, f_fss_content *found) {
#ifndef _di_level_1_parameter_checking_
if (buffer == 0) return f_status_set_error(f_invalid_parameter);
if (location == 0) return f_status_set_error(f_invalid_parameter);
#endif // _di_fl_fss_extended_content_read_
#ifndef _di_fl_fss_extended_object_write_
- f_return_status fl_fss_extended_object_write(const f_string_dynamic object, f_string_location *location, f_string_dynamic *buffer) {
+ f_return_status fl_fss_extended_object_write(const f_string_dynamic object, f_string_range *location, f_string_dynamic *buffer) {
#ifndef _di_level_1_parameter_checking_
if (buffer == 0) return f_status_set_error(f_invalid_parameter);
#endif // _di_level_1_parameter_checking_
f_status status = f_none;
bool quoted = f_false;
- f_string_location buffer_position = f_string_location_initialize;
+ f_string_range buffer_position = f_string_range_initialize;
f_string_length start_position = f_string_initialize;
f_string_length pre_allocate_size = 0;
#endif // _di_fl_fss_extended_object_write_
#ifndef _di_fl_fss_extended_content_write_
- f_return_status fl_fss_extended_content_write(const f_string_dynamic content, f_string_location *location, f_string_dynamic *buffer) {
+ f_return_status fl_fss_extended_content_write(const f_string_dynamic content, f_string_range *location, f_string_dynamic *buffer) {
#ifndef _di_level_1_parameter_checking_
if (buffer == 0) return f_status_set_error(f_invalid_parameter);
#endif // _di_level_1_parameter_checking_
f_status status = f_none;
int8_t quoted = f_string_eos;
- f_string_location buffer_position = f_string_location_initialize;
+ f_string_range buffer_position = f_string_range_initialize;
f_string_length start_position = 0;
f_string_length pre_allocate_size = 0;
* f_invalid_parameter (with error bit) if a parameter is invalid.
*/
#ifndef _di_fl_fss_extended_object_read_
- extern f_return_status fl_fss_extended_object_read(f_string_dynamic *buffer, f_string_location *location, f_fss_object *found);
+ extern f_return_status fl_fss_extended_object_read(f_string_dynamic *buffer, f_string_range *location, f_fss_object *found);
#endif // _di_fl_fss_extended_object_read_
/**
* f_invalid_parameter (with error bit) if a parameter is invalid.
*/
#ifndef _di_fl_fss_extended_content_read_
- extern f_return_status fl_fss_extended_content_read(f_string_dynamic *buffer, f_string_location *location, f_fss_content *found);
+ extern f_return_status fl_fss_extended_content_read(f_string_dynamic *buffer, f_string_range *location, f_fss_content *found);
#endif // _di_fl_fss_extended_content_read_
/**
* f_invalid_parameter (with error bit) if a parameter is invalid.
*/
#ifndef _di_fl_fss_extended_object_write_
- extern f_return_status fl_fss_extended_object_write(const f_string_dynamic object, f_string_location *location, f_string_dynamic *buffer);
+ extern f_return_status fl_fss_extended_object_write(const f_string_dynamic object, f_string_range *location, f_string_dynamic *buffer);
#endif // _di_fl_fss_extended_object_write_
/**
* f_invalid_parameter (with error bit) if a parameter is invalid.
*/
#ifndef _di_fl_fss_extended_content_write_
- extern f_return_status fl_fss_extended_content_write(const f_string_dynamic content, f_string_location *location, f_string_dynamic *buffer);
+ extern f_return_status fl_fss_extended_content_write(const f_string_dynamic content, f_string_range *location, f_string_dynamic *buffer);
#endif // _di_fl_fss_extended_content_write_
#ifdef __cplusplus
#endif
#ifndef _di_fl_fss_extended_list_object_read_
- f_return_status fl_fss_extended_list_object_read(f_string_dynamic *buffer, f_string_location *location, f_fss_object *found) {
+ f_return_status fl_fss_extended_list_object_read(f_string_dynamic *buffer, f_string_range *location, f_fss_object *found) {
#ifndef _di_level_1_parameter_checking_
if (buffer == 0) return f_status_set_error(f_invalid_parameter);
if (location == 0) return f_status_set_error(f_invalid_parameter);
#endif // _di_fl_fss_extended_list_object_read_
#ifndef _di_fl_fss_extended_list_content_read_
- f_return_status fl_fss_extended_list_content_read(f_string_dynamic *buffer, f_string_location *location, f_fss_nest *found) {
+ f_return_status fl_fss_extended_list_content_read(f_string_dynamic *buffer, f_string_range *location, f_fss_nest *found) {
#ifndef _di_level_1_parameter_checking_
if (buffer == 0) return f_status_set_error(f_invalid_parameter);
if (location == 0) return f_status_set_error(f_invalid_parameter);
#endif // _di_fl_fss_extended_list_content_read_
#ifndef _di_fl_fss_extended_list_object_write_
- f_return_status fl_fss_extended_list_object_write(const f_string_dynamic object, f_string_location *location, f_string_dynamic *buffer) {
+ f_return_status fl_fss_extended_list_object_write(const f_string_dynamic object, f_string_range *location, f_string_dynamic *buffer) {
#ifndef _di_level_1_parameter_checking_
if (buffer == 0) return f_status_set_error(f_invalid_parameter);
#endif // _di_level_1_parameter_checking_
f_status status = f_none;
- f_string_location buffer_position = f_string_location_initialize;
+ f_string_range buffer_position = f_string_range_initialize;
f_string_length start_position = f_string_initialize;
f_string_length pre_allocate_size = 0;
f_string_length start_buffer = 0;
#endif // _di_fl_fss_extended_list_object_write_
#ifndef _di_fl_fss_extended_list_content_write_
- f_return_status fl_fss_extended_list_content_write(const f_string_dynamic content, f_string_location *location, f_string_dynamic *buffer) {
+ f_return_status fl_fss_extended_list_content_write(const f_string_dynamic content, f_string_range *location, f_string_dynamic *buffer) {
#ifndef _di_level_1_parameter_checking_
if (buffer == 0) return f_status_set_error(f_invalid_parameter);
#endif // _di_level_1_parameter_checking_
bool is_comment = f_false;
bool has_graph = f_false;
- f_string_location buffer_position = f_string_location_initialize;
+ f_string_range buffer_position = f_string_range_initialize;
f_string_length start_position = f_string_initialize;
f_string_length pre_allocate_size = 0;
* f_invalid_parameter (with error bit) if a parameter is invalid.
*/
#ifndef _di_fl_fss_extended_list_object_read_
- extern f_return_status fl_fss_extended_list_object_read(f_string_dynamic *buffer, f_string_location *location, f_fss_object *found);
+ extern f_return_status fl_fss_extended_list_object_read(f_string_dynamic *buffer, f_string_range *location, f_fss_object *found);
#endif // _di_fl_fss_extended_list_object_read_
/**
* f_invalid_parameter (with error bit) if a parameter is invalid.
*/
#ifndef _di_fl_fss_extended_list_content_read_
- extern f_return_status fl_fss_extended_list_content_read(f_string_dynamic *buffer, f_string_location *location, f_fss_nest *found);
+ extern f_return_status fl_fss_extended_list_content_read(f_string_dynamic *buffer, f_string_range *location, f_fss_nest *found);
#endif // _di_fl_fss_extended_list_content_read_
/**
* f_invalid_parameter (with error bit) if a parameter is invalid.
*/
#ifndef _di_fl_fss_extended_list_object_write_
- extern f_return_status fl_fss_extended_list_object_write(const f_string_dynamic object, f_string_location *location, f_string_dynamic *buffer);
+ extern f_return_status fl_fss_extended_list_object_write(const f_string_dynamic object, f_string_range *location, f_string_dynamic *buffer);
#endif // _di_fl_fss_extended_list_object_write_
/**
* f_invalid_parameter (with error bit) if a parameter is invalid.
*/
#ifndef _di_fl_fss_extended_list_content_write_
- extern f_return_status fl_fss_extended_list_content_write(const f_string_dynamic content, f_string_location *location, f_string_dynamic *buffer);
+ extern f_return_status fl_fss_extended_list_content_write(const f_string_dynamic content, f_string_range *location, f_string_dynamic *buffer);
#endif // _di_fl_fss_extended_list_content_write_
#ifdef __cplusplus
#endif // _di_fl_print_trim_string_dynamic_
#ifndef _di_fl_print_trim_string_dynamic_partial_
- f_return_status fl_print_trim_string_dynamic_partial(FILE *output, const f_string_dynamic buffer, const f_string_location location) {
+ f_return_status fl_print_trim_string_dynamic_partial(FILE *output, const f_string_dynamic buffer, const f_string_range range) {
#ifndef _di_level_1_parameter_checking_
- if (location.start < 0) return f_status_set_error(f_invalid_parameter);
- if (location.stop < location.start) return f_status_set_error(f_invalid_parameter);
+ if (range.start < 0) return f_status_set_error(f_invalid_parameter);
+ if (range.stop < range.start) return f_status_set_error(f_invalid_parameter);
if (buffer.used <= 0) return f_status_set_error(f_invalid_parameter);
- if (location.start >= buffer.used) return f_status_set_error(f_invalid_parameter);
- if (location.stop >= buffer.used) return f_status_set_error(f_invalid_parameter);
+ if (range.start >= buffer.used) return f_status_set_error(f_invalid_parameter);
+ if (range.stop >= buffer.used) return f_status_set_error(f_invalid_parameter);
#endif // _di_level_1_parameter_checking_
- register f_string_length i = location.start;
+ register f_string_length i = range.start;
f_status status = f_none;
uint8_t width_max = 0;
- for (; i <= location.stop; i += f_macro_utf_byte_width(buffer.string[i])) {
- width_max = (location.stop - i) + 1;
+ for (; i <= range.stop; i += f_macro_utf_byte_width(buffer.string[i])) {
+ width_max = (range.stop - i) + 1;
status = f_utf_is_whitespace(buffer.string + i, width_max);
if (f_status_is_error(status)) {
if (status == f_false) break;
} // for
- for (uint8_t width_i = f_macro_utf_byte_width(buffer.string[i]); i <= location.stop; i += width_i) {
+ for (uint8_t width_i = f_macro_utf_byte_width(buffer.string[i]); i <= range.stop; i += width_i) {
if (buffer.string[i] == f_string_eos) {
width_i = 1;
continue;
}
width_i = f_macro_utf_byte_width(buffer.string[i]);
- width_max = (location.stop - i) + 1;
+ width_max = (range.stop - i) + 1;
status = f_utf_is_whitespace(buffer.string + i, width_max);
if (f_status_is_error(status)) {
if (status == f_true) {
f_string_length j = i + width_i;
- if (j == location.stop) {
+ if (j == range.stop) {
return f_none;
}
- for (uint8_t width_j = f_macro_utf_byte_width(buffer.string[j]); j <= location.stop; j += width_j) {
+ for (uint8_t width_j = f_macro_utf_byte_width(buffer.string[j]); j <= range.stop; j += width_j) {
width_j = f_macro_utf_byte_width(buffer.string[j]);
- width_max = (location.stop - j) + 1;
+ width_max = (range.stop - j) + 1;
status = f_utf_is_whitespace(buffer.string + j, width_max);
if (f_status_is_error(status)) {
#endif // _di_fl_print_trim_utf_string_dynamic_
#ifndef _di_fl_print_trim_utf_string_dynamic_partial_
- f_return_status fl_print_trim_utf_string_dynamic_partial(FILE *output, const f_utf_string_dynamic buffer, const f_utf_string_location location) {
+ f_return_status fl_print_trim_utf_string_dynamic_partial(FILE *output, const f_utf_string_dynamic buffer, const f_utf_string_range range) {
#ifndef _di_level_1_parameter_checking_
- if (location.start < 0) return f_status_set_error(f_invalid_parameter);
- if (location.stop < location.start) return f_status_set_error(f_invalid_parameter);
+ if (range.start < 0) return f_status_set_error(f_invalid_parameter);
+ if (range.stop < range.start) return f_status_set_error(f_invalid_parameter);
if (buffer.used <= 0) return f_status_set_error(f_invalid_parameter);
- if (location.start >= buffer.used) return f_status_set_error(f_invalid_parameter);
- if (location.stop >= buffer.used) return f_status_set_error(f_invalid_parameter);
+ if (range.start >= buffer.used) return f_status_set_error(f_invalid_parameter);
+ if (range.stop >= buffer.used) return f_status_set_error(f_invalid_parameter);
#endif // _di_level_1_parameter_checking_
- register f_string_length i = location.start;
+ register f_string_length i = range.start;
f_status status = f_none;
- for (; i <= location.stop; i++) {
+ for (; i <= range.stop; i++) {
status = f_utf_character_is_whitespace(buffer.string[i]);
if (f_status_is_error(status)) {
if (status == f_false) break;
} // for
- for (; i <= location.stop; i++) {
+ for (; i <= range.stop; i++) {
if (buffer.string[i] == f_string_eos) continue;
status = f_utf_character_is_whitespace(buffer.string[i]);
if (status == f_true) {
f_string_length j = i + 1;
- if (j == location.stop) {
+ if (j == range.stop) {
return f_none;
}
- for (; j <= location.stop; j++) {
+ for (; j <= range.stop; j++) {
status = f_utf_character_is_whitespace(buffer.string[j]);
if (f_status_is_error(status)) {
*
* Will not stop at \0.
* Will not print \0.
- * Will print the only the buffer range specified by location, except for leading/trailing whitespace.
+ * Will print the only the buffer range specified by range, except for leading/trailing whitespace.
*
* @param output
* The file to output to, including standard streams such as stdout and stderr.
* @param buffer
* The string to output.
- * @param location
+ * @param range
* The range within the provided string to print.
*
* @return
* f_incomplete_utf (with error bit) if character is an incomplete UTF-8 fragment.
*/
#ifndef _di_fl_print_trim_string_dynamic_partial_
- extern f_return_status fl_print_trim_string_dynamic_partial(FILE *output, const f_string_dynamic buffer, const f_string_location location);
+ extern f_return_status fl_print_trim_string_dynamic_partial(FILE *output, const f_string_dynamic buffer, const f_string_range range);
#endif // _di_fl_print_trim_string_dynamic_partial_
/**
*
* Will not stop at \0.
* Will not print \0.
- * Will print the only the buffer range specified by location, except for leading/trailing whitespace.
+ * Will print the only the buffer range specified by range, except for leading/trailing whitespace.
*
* @param output
* The file to output to, including standard streams such as stdout and stderr.
* @param buffer
* The string to output.
- * @param location
+ * @param range
* The range within the provided string to print.
*
* @return
* f_incomplete_utf (with error bit) if character is an incomplete UTF-8 fragment.
*/
#ifndef _di_fl_print_trim_utf_string_dynamic_partial_
- extern f_return_status fl_print_trim_utf_string_dynamic_partial(FILE *output, const f_utf_string_dynamic buffer, const f_utf_string_location location);
+ extern f_return_status fl_print_trim_utf_string_dynamic_partial(FILE *output, const f_utf_string_dynamic buffer, const f_utf_string_range range);
#endif // _di_fl_print_trim_utf_string_dynamic_partial_
#ifdef __cplusplus
#endif
#if !defined(_di_fl_unserialize_simple_find_) || !defined(_di_fl_unserialize_simple_get_)
- f_return_status private_fl_unserialize_simple_find(const f_string_dynamic serialized, const f_array_length index, f_string_location *location) {
+ f_return_status private_fl_unserialize_simple_find(const f_string_dynamic serialized, const f_array_length index, f_string_range *location) {
f_status status = f_none;
f_array_length i = 0;
* f_invalid_parameter (with error bit) if a parameter is invalid.
*/
#if !defined(_di_fl_unserialize_simple_find_) || !defined(_di_fl_unserialize_simple_get_)
- extern f_return_status private_fl_unserialize_simple_find(const f_string_dynamic serialized, const f_array_length index, f_string_location *location) f_gcc_attribute_visibility_internal;
+ extern f_return_status private_fl_unserialize_simple_find(const f_string_dynamic serialized, const f_array_length index, f_string_range *location) f_gcc_attribute_visibility_internal;
#endif // !defined(_di_fl_unserialize_simple_find_) || !defined(_di_fl_unserialize_simple_get_)
#ifdef __cplusplus
#endif // _di_fl_unserialize_simple_
#ifndef _di_fl_unserialize_simple_map_
- f_return_status fl_unserialize_simple_map(const f_string_dynamic serialized, f_string_locations *locations) {
+ f_return_status fl_unserialize_simple_map(const f_string_dynamic serialized, f_string_ranges *locations) {
#ifndef _di_level_0_parameter_checking_
if (serialized.used == 0) return f_status_set_error(f_invalid_parameter);
if (locations == 0) return f_status_set_error(f_invalid_parameter);
if (serialized.string[i] == f_serialized_simple_splitter || i + 1 >= serialized.used) {
if (locations->used >= locations->size) {
- f_macro_string_locations_resize(status, (*locations), locations->size + f_serialized_default_allocation_step);
+ f_macro_string_ranges_resize(status, (*locations), locations->size + f_serialized_default_allocation_step);
if (f_status_is_error(status)) return status;
}
#endif // _di_fl_unserialize_simple_map_
#ifndef _di_fl_unserialize_simple_find_
- f_return_status fl_unserialize_simple_find(const f_string_dynamic serialized, const f_array_length index, f_string_location *location) {
+ f_return_status fl_unserialize_simple_find(const f_string_dynamic serialized, const f_array_length index, f_string_range *range) {
#ifndef _di_level_0_parameter_checking_
if (serialized.used == 0) return f_status_set_error(f_invalid_parameter);
- if (location == 0) return f_status_set_error(f_invalid_parameter);
+ if (range == 0) return f_status_set_error(f_invalid_parameter);
#endif // _di_level_0_parameter_checking_
- return private_fl_unserialize_simple_find(serialized, index, location);
+ return private_fl_unserialize_simple_find(serialized, index, range);
}
#endif // _di_fl_unserialize_simple_find_
if (dynamic == 0) return f_status_set_error(f_invalid_parameter);
#endif // _di_level_0_parameter_checking_
- f_string_location location = f_string_location_initialize;
+ f_string_range range = f_string_range_initialize;
- f_status status = private_fl_unserialize_simple_find(serialized, index, &location);
+ f_status status = private_fl_unserialize_simple_find(serialized, index, &range);
if (f_status_is_error(status)) return status;
return status;
}
- f_string_length total = (location.stop - location.start) + 1;
+ f_string_length total = (range.stop - range.start) + 1;
if (total >= dynamic->size) {
f_status status_allocation = f_none;
if (f_status_is_error(status_allocation)) return status_allocation;
}
- memcpy(dynamic->string, serialized.string + location.start, total);
+ memcpy(dynamic->string, serialized.string + range.start, total);
dynamic->used = total;
return status;
* f_error_reallocation (with error bit) on memory reallocation error.
*/
#ifndef _di_fl_unserialize_simple_map_
- extern f_return_status fl_unserialize_simple_map(const f_string_dynamic serialized, f_string_locations *locations);
+ extern f_return_status fl_unserialize_simple_map(const f_string_dynamic serialized, f_string_ranges *locations);
#endif // _di_fl_unserialize_simple_map_
/**
* f_invalid_parameter (with error bit) if a parameter is invalid.
*/
#ifndef _di_fl_unserialize_simple_find_
- extern f_return_status fl_unserialize_simple_find(const f_string_dynamic serialized, const f_array_length index, f_string_location *location);
+ extern f_return_status fl_unserialize_simple_find(const f_string_dynamic serialized, const f_array_length index, f_string_range *location);
#endif // _di_fl_unserialize_simple_find_
/**
#endif // _di_fl_string_dynamic_mish_nulless_
#ifndef _di_fl_string_dynamic_partial_append_
- f_return_status fl_string_dynamic_partial_append(const f_string_dynamic source, const f_string_location range, f_string_dynamic *destination) {
+ f_return_status fl_string_dynamic_partial_append(const f_string_dynamic source, const f_string_range range, f_string_dynamic *destination) {
#ifndef _di_level_1_parameter_checking_
if (source.used <= range.stop) return f_status_set_error(f_invalid_parameter);
if (destination == 0) return f_status_set_error(f_invalid_parameter);
#endif // _di_fl_string_dynamic_partial_append_
#ifndef _di_fl_string_dynamic_partial_append_nulless_
- f_return_status fl_string_dynamic_partial_append_nulless(const f_string_dynamic source, const f_string_location range, f_string_dynamic *destination) {
+ f_return_status fl_string_dynamic_partial_append_nulless(const f_string_dynamic source, const f_string_range range, f_string_dynamic *destination) {
#ifndef _di_level_1_parameter_checking_
if (source.used <= range.stop) return f_status_set_error(f_invalid_parameter);
if (destination == 0) return f_status_set_error(f_invalid_parameter);
#endif // _di_fl_string_dynamic_append_nulless_
#ifndef _di_fl_string_dynamic_partial_compare_
- f_return_status fl_string_dynamic_partial_compare(const f_string_dynamic string1, const f_string_dynamic string2, const f_string_location range1, const f_string_location range2) {
+ f_return_status fl_string_dynamic_partial_compare(const f_string_dynamic string1, const f_string_dynamic string2, const f_string_range range1, const f_string_range range2) {
#ifndef _di_level_1_parameter_checking_
if (string1.used <= range1.stop) return f_status_set_error(f_invalid_parameter);
if (string2.used <= range2.stop) return f_status_set_error(f_invalid_parameter);
#endif // _di_fl_string_dynamic_partial_compare_
#ifndef _di_fl_string_dynamic_partial_compare_trim_
- f_return_status fl_string_dynamic_partial_compare_trim(const f_string_dynamic string1, const f_string_dynamic string2, const f_string_location range1, const f_string_location range2) {
+ f_return_status fl_string_dynamic_partial_compare_trim(const f_string_dynamic string1, const f_string_dynamic string2, const f_string_range range1, const f_string_range range2) {
#ifndef _di_level_1_parameter_checking_
if (string1.used <= range1.stop) return f_status_set_error(f_invalid_parameter);
if (string2.used <= range2.stop) return f_status_set_error(f_invalid_parameter);
#endif // _di_fl_string_dynamic_partial_compare_trim_
#ifndef _di_fl_string_dynamic_partial_mash_
- f_return_status fl_string_dynamic_partial_mash(const f_string glue, const f_string_length glue_length, const f_string_dynamic source, const f_string_location range, f_string_dynamic *destination) {
+ f_return_status fl_string_dynamic_partial_mash(const f_string glue, const f_string_length glue_length, const f_string_dynamic source, const f_string_range range, f_string_dynamic *destination) {
#ifndef _di_level_1_parameter_checking_
if (source.used <= range.stop) return f_status_set_error(f_invalid_parameter);
if (destination == 0) return f_status_set_error(f_invalid_parameter);
#endif // _di_fl_string_dynamic_partial_mash_
#ifndef _di_fl_string_dynamic_partial_mash_nulless_
- f_return_status fl_string_dynamic_partial_mash_nulless(const f_string glue, const f_string_length glue_length, const f_string_dynamic source, const f_string_location range, f_string_dynamic *destination) {
+ f_return_status fl_string_dynamic_partial_mash_nulless(const f_string glue, const f_string_length glue_length, const f_string_dynamic source, const f_string_range range, f_string_dynamic *destination) {
#ifndef _di_level_1_parameter_checking_
if (source.used <= range.stop) return f_status_set_error(f_invalid_parameter);
if (destination == 0) return f_status_set_error(f_invalid_parameter);
#endif // _di_fl_string_dynamic_partial_mash_nulless_
#ifndef _di_fl_string_dynamic_partial_mish_
- f_return_status fl_string_partial_dynamic_mish(const f_string glue, const f_string_length glue_length, const f_string_dynamic source, const f_string_location range, f_string_dynamic *destination) {
+ f_return_status fl_string_partial_dynamic_mish(const f_string glue, const f_string_length glue_length, const f_string_dynamic source, const f_string_range range, f_string_dynamic *destination) {
#ifndef _di_level_1_parameter_checking_
if (source.used <= range.stop) return f_status_set_error(f_invalid_parameter);
if (destination == 0) return f_status_set_error(f_invalid_parameter);
#endif // _di_fl_string_dynamic_partial_mish_
#ifndef _di_fl_string_dynamic_partial_mish_nulless_
- f_return_status fl_string_dynamic_partial_mish_nulless(const f_string glue, const f_string_length glue_length, const f_string_dynamic source, const f_string_location range, f_string_dynamic *destination) {
+ f_return_status fl_string_dynamic_partial_mish_nulless(const f_string glue, const f_string_length glue_length, const f_string_dynamic source, const f_string_range range, f_string_dynamic *destination) {
#ifndef _di_level_1_parameter_checking_
if (source.used <= range.stop) return f_status_set_error(f_invalid_parameter);
if (destination == 0) return f_status_set_error(f_invalid_parameter);
#endif // _di_fl_string_dynamic_partial_mish_nulless_
#ifndef _di_fl_string_dynamic_partial_prepend_
- f_return_status fl_string_dynamic_partial_prepend(const f_string_dynamic source, const f_string_location range, f_string_dynamic *destination) {
+ f_return_status fl_string_dynamic_partial_prepend(const f_string_dynamic source, const f_string_range range, f_string_dynamic *destination) {
#ifndef _di_level_1_parameter_checking_
if (source.used <= range.stop) return f_status_set_error(f_invalid_parameter);
if (destination == 0) return f_status_set_error(f_invalid_parameter);
#endif // _di_fl_string_dynamic_partial_prepend_
#ifndef _di_fl_string_dynamic_partial_prepend_nulless_
- f_return_status fl_string_dynamic_partial_prepend_nulless(const f_string_dynamic source, const f_string_location range, f_string_dynamic *destination) {
+ f_return_status fl_string_dynamic_partial_prepend_nulless(const f_string_dynamic source, const f_string_range range, f_string_dynamic *destination) {
#ifndef _di_level_1_parameter_checking_
if (source.used <= range.stop) return f_status_set_error(f_invalid_parameter);
if (destination == 0) return f_status_set_error(f_invalid_parameter);
#endif // _di_fl_string_dynamic_prepend_nulless_
#ifndef _di_fl_string_dynamic_rip_
- f_return_status fl_string_dynamic_rip(const f_string_dynamic source, const f_string_location range, f_string_dynamic *destination) {
+ f_return_status fl_string_dynamic_rip(const f_string_dynamic source, const f_string_range range, f_string_dynamic *destination) {
#ifndef _di_level_1_parameter_checking_
if (source.used <= range.start) return f_status_set_error(f_invalid_parameter);
if (source.used <= range.stop) return f_status_set_error(f_invalid_parameter);
#endif // _di_fl_string_dynamic_rip_
#ifndef _di_fl_string_dynamic_rip_nulless_
- f_return_status fl_string_dynamic_rip_nulless(const f_string_dynamic source, const f_string_location range, f_string_dynamic *destination) {
+ f_return_status fl_string_dynamic_rip_nulless(const f_string_dynamic source, const f_string_range range, f_string_dynamic *destination) {
#ifndef _di_level_1_parameter_checking_
if (source.used <= range.start) return f_status_set_error(f_invalid_parameter);
if (source.used <= range.stop) return f_status_set_error(f_invalid_parameter);
#endif // _di_fl_string_dynamic_rip_nulless_
#ifndef _di_fl_string_dynamic_seek_line_to_
- f_return_status fl_string_dynamic_seek_line_to(const f_string_dynamic buffer, f_string_location *range, const int8_t seek_to_this) {
+ f_return_status fl_string_dynamic_seek_line_to(const f_string_dynamic buffer, f_string_range *range, const int8_t seek_to_this) {
#ifndef _di_level_1_parameter_checking_
if (range == 0) return f_status_set_error(f_invalid_parameter);
if (buffer.used <= range->start) return f_status_set_error(f_invalid_parameter);
#endif // _di_fl_string_dynamic_seek_line_to_
#ifndef _di_fl_string_dynamic_seek_line_to_utf_character_
- f_return_status fl_string_dynamic_seek_line_to_utf_character(const f_string_dynamic buffer, f_string_location *range, const f_utf_character seek_to_this) {
+ f_return_status fl_string_dynamic_seek_line_to_utf_character(const f_string_dynamic buffer, f_string_range *range, const f_utf_character seek_to_this) {
#ifndef _di_level_1_parameter_checking_
if (range == 0) return f_status_set_error(f_invalid_parameter);
if (buffer.used <= range->start) return f_status_set_error(f_invalid_parameter);
#endif // _di_fl_string_dynamic_seek_line_to_utf_character_
#ifndef _di_fl_string_dynamic_seek_line_until_graph_
- f_return_status fl_string_dynamic_seek_line_until_graph(const f_string_dynamic buffer, f_string_location *range, const int8_t placeholder) {
+ f_return_status fl_string_dynamic_seek_line_until_graph(const f_string_dynamic buffer, f_string_range *range, const int8_t placeholder) {
#ifndef _di_level_1_parameter_checking_
if (range == 0) return f_status_set_error(f_invalid_parameter);
if (buffer.used <= range->start) return f_status_set_error(f_invalid_parameter);
#endif // _di_fl_string_dynamic_seek_line_until_graph_
#ifndef _di_fl_string_dynamic_seek_line_until_non_graph_
- f_return_status fl_string_dynamic_seek_line_until_non_graph(const f_string_dynamic buffer, f_string_location *range, const int8_t placeholder) {
+ f_return_status fl_string_dynamic_seek_line_until_non_graph(const f_string_dynamic buffer, f_string_range *range, const int8_t placeholder) {
#ifndef _di_level_1_parameter_checking_
if (range == 0) return f_status_set_error(f_invalid_parameter);
if (buffer.used <= range->start) return f_status_set_error(f_invalid_parameter);
#endif // _di_fl_string_dynamic_seek_line_until_non_graph_
#ifndef _di_fl_string_dynamic_seek_to_
- f_return_status fl_string_dynamic_seek_to(const f_string_dynamic buffer, f_string_location *range, const int8_t seek_to_this) {
+ f_return_status fl_string_dynamic_seek_to(const f_string_dynamic buffer, f_string_range *range, const int8_t seek_to_this) {
#ifndef _di_level_1_parameter_checking_
if (range == 0) return f_status_set_error(f_invalid_parameter);
if (buffer.used <= range->start) return f_status_set_error(f_invalid_parameter);
#endif // _di_fl_string_dynamic_seek_to_
#ifndef _di_fl_string_dynamic_seek_to_utf_character_
- f_return_status fl_string_dynamic_seek_to_utf_character(const f_string_dynamic buffer, f_string_location *range, const f_utf_character seek_to_this) {
+ f_return_status fl_string_dynamic_seek_to_utf_character(const f_string_dynamic buffer, f_string_range *range, const f_utf_character seek_to_this) {
#ifndef _di_level_1_parameter_checking_
if (range == 0) return f_status_set_error(f_invalid_parameter);
if (buffer.used <= range->start) return f_status_set_error(f_invalid_parameter);
#endif // _di_fl_string_rip_nulless_
#ifndef _di_fl_string_seek_line_to_
- f_return_status fl_string_seek_line_to(const f_string string, f_string_location *range, const int8_t seek_to_this) {
+ f_return_status fl_string_seek_line_to(const f_string string, f_string_range *range, const int8_t seek_to_this) {
#ifndef _di_level_1_parameter_checking_
if (range == 0) return f_status_set_error(f_invalid_parameter);
#endif // _di_level_1_parameter_checking_
#endif // _di_fl_string_seek_line_to_
#ifndef _di_fl_string_seek_line_to_utf_character_
- f_return_status fl_string_seek_line_to_utf_character(const f_string string, f_string_location *range, const f_utf_character seek_to_this) {
+ f_return_status fl_string_seek_line_to_utf_character(const f_string string, f_string_range *range, const f_utf_character seek_to_this) {
#ifndef _di_level_1_parameter_checking_
if (range == 0) return f_status_set_error(f_invalid_parameter);
#endif // _di_level_1_parameter_checking_
#endif // _di_fl_string_seek_line_to_utf_character_
#ifndef _di_fl_string_seek_line_until_graph_
- f_return_status fl_string_seek_line_until_graph(const f_string string, f_string_location *range, const int8_t placeholder) {
+ f_return_status fl_string_seek_line_until_graph(const f_string string, f_string_range *range, const int8_t placeholder) {
#ifndef _di_level_1_parameter_checking_
if (range == 0) return f_status_set_error(f_invalid_parameter);
#endif // _di_level_1_parameter_checking_
#endif // _di_fl_string_seek_line_until_graph_
#ifndef _di_fl_string_seek_line_until_non_graph_
- f_return_status fl_string_seek_line_until_non_graph(const f_string string, f_string_location *range, const int8_t placeholder) {
+ f_return_status fl_string_seek_line_until_non_graph(const f_string string, f_string_range *range, const int8_t placeholder) {
#ifndef _di_level_1_parameter_checking_
if (range == 0) return f_status_set_error(f_invalid_parameter);
#endif // _di_level_1_parameter_checking_
#endif // _di_fl_string_seek_line_until_non_graph_
#ifndef _di_fl_string_seek_to_
- f_return_status fl_string_seek_to(const f_string string, f_string_location *range, const int8_t seek_to_this) {
+ f_return_status fl_string_seek_to(const f_string string, f_string_range *range, const int8_t seek_to_this) {
#ifndef _di_level_1_parameter_checking_
if (range == 0) return f_status_set_error(f_invalid_parameter);
#endif // _di_level_1_parameter_checking_
#endif // _di_fl_string_seek_to_
#ifndef _di_fl_string_seek_to_utf_character_
- f_return_status fl_string_seek_to_utf_character(const f_string string, f_string_location *range, const f_utf_character seek_to_this) {
+ f_return_status fl_string_seek_to_utf_character(const f_string string, f_string_range *range, const f_utf_character seek_to_this) {
#ifndef _di_level_1_parameter_checking_
if (range == 0) return f_status_set_error(f_invalid_parameter);
#endif // _di_level_1_parameter_checking_
* @see fl_string_dynamic_partial_append_nulless()
*/
#ifndef _di_fl_string_dynamic_partial_append_
- extern f_return_status fl_string_dynamic_partial_append(const f_string_dynamic source, const f_string_location range, f_string_dynamic *destination);
+ extern f_return_status fl_string_dynamic_partial_append(const f_string_dynamic source, const f_string_range range, f_string_dynamic *destination);
#endif // _di_fl_string_dynamic_partial_append_
/**
* @see fl_string_dynamic_partial_append()
*/
#ifndef _di_fl_string_dynamic_partial_append_nulless_
- extern f_return_status fl_string_dynamic_partial_append_nulless(const f_string_dynamic source, const f_string_location range, f_string_dynamic *destination);
+ extern f_return_status fl_string_dynamic_partial_append_nulless(const f_string_dynamic source, const f_string_range range, f_string_dynamic *destination);
#endif // _di_fl_string_dynamic_partial_append_nulless_
/**
* @see fl_string_dynamic_compare_trim()
*/
#ifndef _di_fl_string_dynamic_partial_compare_
- extern f_return_status fl_string_dynamic_partial_compare(const f_string_dynamic string1, const f_string_dynamic string2, const f_string_location range1, const f_string_location range2);
+ extern f_return_status fl_string_dynamic_partial_compare(const f_string_dynamic string1, const f_string_dynamic string2, const f_string_range range1, const f_string_range range2);
#endif // _di_fl_string_dynamic_partial_compare_
/**
* @see fl_string_dynamic_compare_trim()
*/
#ifndef _di_fl_string_dynamic_partial_compare_trim_
- extern f_return_status fl_string_dynamic_partial_compare_trim(const f_string_dynamic string1, const f_string_dynamic string2, const f_string_location range1, const f_string_location range2);
+ extern f_return_status fl_string_dynamic_partial_compare_trim(const f_string_dynamic string1, const f_string_dynamic string2, const f_string_range range1, const f_string_range range2);
#endif // _di_fl_string_dynamic_partial_compare_trim_
/**
* @see fl_string_dynamic_partial_mash_nulless()
*/
#ifndef _di_fl_string_dynamic_partial_mash_
- extern f_return_status fl_string_dynamic_partial_mash(const f_string glue, const f_string_length glue_length, const f_string_dynamic source, const f_string_location range, f_string_dynamic *destination);
+ extern f_return_status fl_string_dynamic_partial_mash(const f_string glue, const f_string_length glue_length, const f_string_dynamic source, const f_string_range range, f_string_dynamic *destination);
#endif // _di_fl_string_dynamic_partial_mash_
/**
* @see fl_string_dynamic_partial_mash()
*/
#ifndef _di_fl_string_dynamic_partial_mash_nulless_
- extern f_return_status fl_string_dynamic_partial_mash_nulless(const f_string glue, const f_string_length glue_length, const f_string_dynamic source, const f_string_location range, f_string_dynamic *destination);
+ extern f_return_status fl_string_dynamic_partial_mash_nulless(const f_string glue, const f_string_length glue_length, const f_string_dynamic source, const f_string_range range, f_string_dynamic *destination);
#endif // _di_fl_string_dynamic_partial_mash_nulless_
/**
* @see fl_string_dynamic_partial_mish_nulless()
*/
#ifndef _di_fl_string_dynamic_partial_mish_
- extern f_return_status fl_string_dynamic_partial_mish(const f_string glue, const f_string_length glue_length, const f_string_dynamic source, const f_string_location range, f_string_dynamic *destination);
+ extern f_return_status fl_string_dynamic_partial_mish(const f_string glue, const f_string_length glue_length, const f_string_dynamic source, const f_string_range range, f_string_dynamic *destination);
#endif // _di_fl_string_dynamic_partial_mish_
/**
* @see fl_string_dynamic_partial_mish()
*/
#ifndef _di_fl_string_dynamic_partial_mish_nulless_
- extern f_return_status fl_string_dynamic_partial_mish_nulless(const f_string glue, const f_string_length glue_length, const f_string_dynamic source, const f_string_location range, f_string_dynamic *destination);
+ extern f_return_status fl_string_dynamic_partial_mish_nulless(const f_string glue, const f_string_length glue_length, const f_string_dynamic source, const f_string_range range, f_string_dynamic *destination);
#endif // _di_fl_string_dynamic_partial_mish_nulless_
/**
* @see fl_string_dynamic_partial_prepend_nulless()
*/
#ifndef _di_fl_string_dynamic_partial_prepend_
- extern f_return_status fl_string_dynamic_partial_prepend(const f_string_dynamic source, const f_string_location range, f_string_dynamic *destination);
+ extern f_return_status fl_string_dynamic_partial_prepend(const f_string_dynamic source, const f_string_range range, f_string_dynamic *destination);
#endif // _di_fl_string_dynamic_partial_prepend_
/**
* @see fl_string_dynamic_partial_prepend()
*/
#ifndef _di_fl_string_dynamic_partial_prepend_nulless_
- extern f_return_status fl_string_dynamic_partial_prepend_nulless(const f_string_dynamic source, const f_string_location range, f_string_dynamic *destination);
+ extern f_return_status fl_string_dynamic_partial_prepend_nulless(const f_string_dynamic source, const f_string_range range, f_string_dynamic *destination);
#endif // _di_fl_string_dynamic_partial_prepend_nulless_
/**
* @see fl_string_dynamic_rip_nulless()
*/
#ifndef _di_fl_string_dynamic_rip_
- extern f_return_status fl_string_dynamic_rip(const f_string_dynamic source, const f_string_location range, f_string_dynamic *destination);
+ extern f_return_status fl_string_dynamic_rip(const f_string_dynamic source, const f_string_range range, f_string_dynamic *destination);
#endif // _di_fl_string_dynamic_rip_
/**
* @see fl_string_dynamic_rip()
*/
#ifndef _di_fl_string_dynamic_rip_nulless_
- extern f_return_status fl_string_dynamic_rip_nulless(const f_string_dynamic source, const f_string_location range, f_string_dynamic *destination);
+ extern f_return_status fl_string_dynamic_rip_nulless(const f_string_dynamic source, const f_string_range range, f_string_dynamic *destination);
#endif // _di_fl_string_dynamic_rip_nulless_
/**
* @see fl_string_seek_line_to_utf_character()
*/
#ifndef _di_fl_string_dynamic_seek_line_to_
- extern f_return_status fl_string_dynamic_seek_line_to(const f_string_dynamic buffer, f_string_location *range, const int8_t seek_to_this);
+ extern f_return_status fl_string_dynamic_seek_line_to(const f_string_dynamic buffer, f_string_range *range, const int8_t seek_to_this);
#endif // _di_fl_string_dynamic_seek_line_to_
/**
* @see fl_string_seek_line_to()
*/
#ifndef _di_fl_string_dynamic_seek_line_to_utf_character_
- extern f_return_status fl_string_dynamic_seek_line_to_utf_character(const f_string_dynamic buffer, f_string_location *range, const f_utf_character seek_to_this);
+ extern f_return_status fl_string_dynamic_seek_line_to_utf_character(const f_string_dynamic buffer, f_string_range *range, const f_utf_character seek_to_this);
#endif // _di_fl_string_dynamic_seek_line_to_utf_character_
/**
* @see fl_string_seek_line_until_graph()
*/
#ifndef _di_fl_string_dynamic_seek_line_until_graph_
- extern f_return_status fl_string_dynamic_seek_line_until_graph(const f_string_dynamic buffer, f_string_location *range, const int8_t placeholder);
+ extern f_return_status fl_string_dynamic_seek_line_until_graph(const f_string_dynamic buffer, f_string_range *range, const int8_t placeholder);
#endif // _di_fl_string_dynamic_seek_line_until_graph_
/**
* @see fl_string_seek_line_until_non_graph()
*/
#ifndef _di_fl_string_dynamic_seek_line_until_non_graph_
- extern f_return_status fl_string_dynamic_seek_line_until_non_graph(const f_string_dynamic buffer, f_string_location *range, const int8_t placeholder);
+ extern f_return_status fl_string_dynamic_seek_line_until_non_graph(const f_string_dynamic buffer, f_string_range *range, const int8_t placeholder);
#endif // _di_fl_string_dynamic_seek_line_until_non_graph_
/**
* @see fl_string_seek_to_utf_character()
*/
#ifndef _di_fl_string_dynamic_seek_to_
- extern f_return_status fl_string_dynamic_seek_to(const f_string_dynamic buffer, f_string_location *range, const int8_t seek_to_this);
+ extern f_return_status fl_string_dynamic_seek_to(const f_string_dynamic buffer, f_string_range *range, const int8_t seek_to_this);
#endif // _di_fl_string_dynamic_seek_to_
/**
* @see fl_string_seek_to_character()
*/
#ifndef _di_fl_string_dynamic_seek_to_utf_character_
- extern f_return_status fl_string_dynamic_seek_to_utf_character(const f_string_dynamic buffer, f_string_location *range, const f_utf_character seek_to_this);
+ extern f_return_status fl_string_dynamic_seek_to_utf_character(const f_string_dynamic buffer, f_string_range *range, const f_utf_character seek_to_this);
#endif // _di_fl_string_dynamic_seek_to_utf_character_
/**
* @see fl_string_seek_line_to_utf_character()
*/
#ifndef _di_fl_string_seek_line_to_
- extern f_return_status fl_string_seek_line_to(const f_string string, f_string_location *range, const int8_t seek_to_this);
+ extern f_return_status fl_string_seek_line_to(const f_string string, f_string_range *range, const int8_t seek_to_this);
#endif // _di_fl_string_seek_line_to_
/**
* @see fl_string_seek_line_to()
*/
#ifndef _di_fl_string_seek_line_to_utf_character_
- extern f_return_status fl_string_seek_line_to_utf_character(const f_string string, f_string_location *range, const f_utf_character seek_to_this);
+ extern f_return_status fl_string_seek_line_to_utf_character(const f_string string, f_string_range *range, const f_utf_character seek_to_this);
#endif // _di_fl_string_seek_line_to_utf_character_
/**
* @see fl_string_dynamic_seek_line_until_graph()
*/
#ifndef _di_fl_string_seek_line_until_graph_
- extern f_return_status fl_string_seek_line_until_graph(const f_string string, f_string_location *range, const int8_t placeholder);
+ extern f_return_status fl_string_seek_line_until_graph(const f_string string, f_string_range *range, const int8_t placeholder);
#endif // _di_fl_string_seek_line_until_graph_
/**
* @see fl_string_dynamic_seek_line_until_non_graph()
*/
#ifndef _di_fl_string_seek_line_until_non_graph_
- extern f_return_status fl_string_seek_line_until_non_graph(const f_string string, f_string_location *range, const int8_t placeholder);
+ extern f_return_status fl_string_seek_line_until_non_graph(const f_string string, f_string_range *range, const int8_t placeholder);
#endif // _di_fl_string_seek_line_until_non_graph_
/**
* @see fl_string_seek_to_utf_character()
*/
#ifndef _di_fl_string_seek_to_
- extern f_return_status fl_string_seek_to(const f_string string, f_string_location *range, const int8_t seek_to_this);
+ extern f_return_status fl_string_seek_to(const f_string string, f_string_range *range, const int8_t seek_to_this);
#endif // _di_fl_string_seek_to_
/**
* @see fl_string_seek_to()
*/
#ifndef _di_fl_string_seek_to_utf_character_
- extern f_return_status fl_string_seek_to_utf_character(const f_string string, f_string_location *range, const f_utf_character seek_to_this);
+ extern f_return_status fl_string_seek_to_utf_character(const f_string string, f_string_range *range, const f_utf_character seek_to_this);
#endif // _di_fl_string_seek_to_utf_character_
#ifdef __cplusplus
#endif // _di_f_utf_string_dynamic_compare_trim_
#ifndef _di_fl_utf_string_dynamic_partial_append_
- f_return_status fl_utf_string_dynamic_partial_append(const f_utf_string_dynamic source, const f_utf_string_location range, f_utf_string_dynamic *destination) {
+ f_return_status fl_utf_string_dynamic_partial_append(const f_utf_string_dynamic source, const f_utf_string_range range, f_utf_string_dynamic *destination) {
#ifndef _di_level_1_parameter_checking_
if (source.used <= range.stop) return f_status_set_error(f_invalid_parameter);
if (destination == 0) return f_status_set_error(f_invalid_parameter);
#endif // _di_fl_utf_string_dynamic_partial_append_
#ifndef _di_fl_utf_string_dynamic_partial_append_nulless_
- f_return_status fl_utf_string_dynamic_partial_append_nulless(const f_utf_string_dynamic source, const f_utf_string_location range, f_utf_string_dynamic *destination) {
+ f_return_status fl_utf_string_dynamic_partial_append_nulless(const f_utf_string_dynamic source, const f_utf_string_range range, f_utf_string_dynamic *destination) {
#ifndef _di_level_1_parameter_checking_
if (source.used <= range.stop) return f_status_set_error(f_invalid_parameter);
if (destination == 0) return f_status_set_error(f_invalid_parameter);
#endif // _di_fl_utf_string_dynamic_partial_append_nulless_
#ifndef _di_fl_utf_string_dynamic_partial_compare_
- f_return_status fl_utf_string_dynamic_partial_compare(const f_utf_string_dynamic string1, const f_utf_string_dynamic string2, const f_utf_string_location range1, const f_utf_string_location range2) {
+ f_return_status fl_utf_string_dynamic_partial_compare(const f_utf_string_dynamic string1, const f_utf_string_dynamic string2, const f_utf_string_range range1, const f_utf_string_range range2) {
#ifndef _di_level_1_parameter_checking_
if (string1.used <= range1.stop) return f_status_set_error(f_invalid_parameter);
if (string2.used <= range2.stop) return f_status_set_error(f_invalid_parameter);
#endif // _di_fl_utf_string_dynamic_partial_compare_
#ifndef _di_fl_utf_string_dynamic_partial_compare_trim_
- f_return_status fl_utf_string_dynamic_partial_comparetrim(const f_utf_string_dynamic string1, const f_utf_string_dynamic string2, const f_utf_string_location range1, const f_utf_string_location range2) {
+ f_return_status fl_utf_string_dynamic_partial_comparetrim(const f_utf_string_dynamic string1, const f_utf_string_dynamic string2, const f_utf_string_range range1, const f_utf_string_range range2) {
#ifndef _di_level_1_parameter_checking_
if (string1.used <= range1.stop) return f_status_set_error(f_invalid_parameter);
if (string2.used <= range2.stop) return f_status_set_error(f_invalid_parameter);
#endif // _di_fl_utf_string_dynamic_partial_compare_trim_
#ifndef _di_fl_utf_string_dynamic_partial_mash_
- f_return_status fl_utf_string_dynamic_partial_mash(const f_utf_string glue, const f_utf_string_length glue_length, const f_utf_string_dynamic source, const f_utf_string_location range, f_utf_string_dynamic *destination) {
+ f_return_status fl_utf_string_dynamic_partial_mash(const f_utf_string glue, const f_utf_string_length glue_length, const f_utf_string_dynamic source, const f_utf_string_range range, f_utf_string_dynamic *destination) {
#ifndef _di_level_1_parameter_checking_
if (source.used <= range.stop) return f_status_set_error(f_invalid_parameter);
if (destination == 0) return f_status_set_error(f_invalid_parameter);
#endif // _di_fl_utf_string_dynamic_partial_mash_
#ifndef _di_fl_utf_string_dynamic_partial_mash_nulless_
- f_return_status fl_utf_string_dynamic_partial_mash_nulless(const f_utf_string glue, const f_utf_string_length glue_length, const f_utf_string_dynamic source, const f_utf_string_location range, f_utf_string_dynamic *destination) {
+ f_return_status fl_utf_string_dynamic_partial_mash_nulless(const f_utf_string glue, const f_utf_string_length glue_length, const f_utf_string_dynamic source, const f_utf_string_range range, f_utf_string_dynamic *destination) {
#ifndef _di_level_1_parameter_checking_
if (source.used <= range.stop) return f_status_set_error(f_invalid_parameter);
if (destination == 0) return f_status_set_error(f_invalid_parameter);
#endif // _di_fl_utf_string_dynamic_partial_mash_nulless_
#ifndef _di_fl_utf_string_dynamic_partial_mish_
- f_return_status fl_utf_string_dynamic_partial_mish(const f_utf_string glue, const f_utf_string_length glue_length, const f_utf_string_dynamic source, const f_utf_string_location range, f_utf_string_dynamic *destination) {
+ f_return_status fl_utf_string_dynamic_partial_mish(const f_utf_string glue, const f_utf_string_length glue_length, const f_utf_string_dynamic source, const f_utf_string_range range, f_utf_string_dynamic *destination) {
#ifndef _di_level_1_parameter_checking_
if (source.used <= range.stop) return f_status_set_error(f_invalid_parameter);
if (destination == 0) return f_status_set_error(f_invalid_parameter);
#endif // _di_fl_utf_string_dynamic_partial_mish_
#ifndef _di_fl_utf_string_dynamic_partial_mish_nulless_
- f_return_status fl_utf_string_dynamic_partial_mish_nulless(const f_utf_string glue, const f_utf_string_length glue_length, const f_utf_string_dynamic source, const f_utf_string_location range, f_utf_string_dynamic *destination) {
+ f_return_status fl_utf_string_dynamic_partial_mish_nulless(const f_utf_string glue, const f_utf_string_length glue_length, const f_utf_string_dynamic source, const f_utf_string_range range, f_utf_string_dynamic *destination) {
#ifndef _di_level_1_parameter_checking_
if (source.used <= range.stop) return f_status_set_error(f_invalid_parameter);
if (destination == 0) return f_status_set_error(f_invalid_parameter);
#endif // _di_fl_utf_string_dynamic_partial_mish_nulless_
#ifndef _di_fl_utf_string_dynamic_partial_prepend_
- f_return_status fl_utf_string_dynamic_partial_prepend(const f_utf_string_dynamic source, const f_utf_string_location range, f_utf_string_dynamic *destination) {
+ f_return_status fl_utf_string_dynamic_partial_prepend(const f_utf_string_dynamic source, const f_utf_string_range range, f_utf_string_dynamic *destination) {
#ifndef _di_level_1_parameter_checking_
if (source.used <= range.stop) return f_status_set_error(f_invalid_parameter);
if (destination == 0) return f_status_set_error(f_invalid_parameter);
#endif // _di_fl_utf_string_dynamic_partial_prepend_
#ifndef _di_fl_utf_string_dynamic_partial_prepend_nulless_
- f_return_status fl_utf_string_dynamic_partial_prepend_nulless(const f_utf_string_dynamic source, const f_utf_string_location range, f_utf_string_dynamic *destination) {
+ f_return_status fl_utf_string_dynamic_partial_prepend_nulless(const f_utf_string_dynamic source, const f_utf_string_range range, f_utf_string_dynamic *destination) {
#ifndef _di_level_1_parameter_checking_
if (source.used <= range.stop) return f_status_set_error(f_invalid_parameter);
if (destination == 0) return f_status_set_error(f_invalid_parameter);
#endif // _di_fl_utf_string_dynamic_prepend_nulless_
#ifndef _di_fl_utf_string_dynamic_rip_
- f_return_status fl_utf_string_dynamic_rip(const f_utf_string_dynamic source, const f_utf_string_location range, f_utf_string_dynamic *destination) {
+ f_return_status fl_utf_string_dynamic_rip(const f_utf_string_dynamic source, const f_utf_string_range range, f_utf_string_dynamic *destination) {
#ifndef _di_level_1_parameter_checking_
if (source.used <= range.start) return f_status_set_error(f_invalid_parameter);
if (source.used <= range.stop) return f_status_set_error(f_invalid_parameter);
#endif // _di_fl_utf_string_dynamic_rip_
#ifndef _di_fl_utf_string_dynamic_rip_nulless_
- f_return_status fl_utf_string_dynamic_rip_nulless(const f_utf_string_dynamic source, const f_utf_string_location range, f_utf_string_dynamic *destination) {
+ f_return_status fl_utf_string_dynamic_rip_nulless(const f_utf_string_dynamic source, const f_utf_string_range range, f_utf_string_dynamic *destination) {
#ifndef _di_level_1_parameter_checking_
if (source.used <= range.start) return f_status_set_error(f_invalid_parameter);
if (source.used <= range.stop) return f_status_set_error(f_invalid_parameter);
#endif // _di_fl_utf_string_dynamic_rip_nulless_
#ifndef _di_fl_utf_string_dynamic_seek_line_to_
- f_return_status fl_utf_string_dynamic_seek_line_to(const f_utf_string_dynamic buffer, f_utf_string_location *range, const f_utf_character seek_to_this) {
+ f_return_status fl_utf_string_dynamic_seek_line_to(const f_utf_string_dynamic buffer, f_utf_string_range *range, const f_utf_character seek_to_this) {
#ifndef _di_level_1_parameter_checking_
if (range == 0) return f_status_set_error(f_invalid_parameter);
if (buffer.used <= range->start) return f_status_set_error(f_invalid_parameter);
#endif // _di_fl_utf_string_dynamic_seek_line_to_
#ifndef _di_fl_utf_string_dynamic_seek_line_to_char_
- f_return_status fl_utf_string_dynamic_seek_line_to_char(const f_utf_string_dynamic buffer, f_utf_string_location *range, const int8_t seek_to_this) {
+ f_return_status fl_utf_string_dynamic_seek_line_to_char(const f_utf_string_dynamic buffer, f_utf_string_range *range, const int8_t seek_to_this) {
#ifndef _di_level_1_parameter_checking_
if (range == 0) return f_status_set_error(f_invalid_parameter);
if (buffer.used <= range->start) return f_status_set_error(f_invalid_parameter);
#endif // _di_fl_utf_string_dynamic_seek_line_to_character_
#ifndef _di_fl_utf_string_dynamic_seek_line_until_graph_
- f_return_status fl_utf_string_dynamic_seek_line_until_graph(const f_utf_string_dynamic buffer, f_utf_string_location *range, const f_utf_character placeholder) {
+ f_return_status fl_utf_string_dynamic_seek_line_until_graph(const f_utf_string_dynamic buffer, f_utf_string_range *range, const f_utf_character placeholder) {
#ifndef _di_level_1_parameter_checking_
if (range == 0) return f_status_set_error(f_invalid_parameter);
if (buffer.used <= range->start) return f_status_set_error(f_invalid_parameter);
#endif // _di_fl_utf_string_dynamic_seek_line_until_graph_
#ifndef _di_fl_utf_string_dynamic_seek_line_until_non_graph_
- f_return_status fl_utf_string_dynamic_seek_line_until_non_graph(const f_utf_string_dynamic buffer, f_utf_string_location *range, const f_utf_character placeholder) {
+ f_return_status fl_utf_string_dynamic_seek_line_until_non_graph(const f_utf_string_dynamic buffer, f_utf_string_range *range, const f_utf_character placeholder) {
#ifndef _di_level_1_parameter_checking_
if (range == 0) return f_status_set_error(f_invalid_parameter);
if (buffer.used <= range->start) return f_status_set_error(f_invalid_parameter);
#endif // _di_fl_utf_string_dynamic_seek_line_until_non_graph_
#ifndef _di_fl_utf_string_dynamic_seek_to_
- f_return_status fl_utf_string_dynamic_seek_to(const f_utf_string_dynamic buffer, f_utf_string_location *range, const f_utf_character seek_to_this) {
+ f_return_status fl_utf_string_dynamic_seek_to(const f_utf_string_dynamic buffer, f_utf_string_range *range, const f_utf_character seek_to_this) {
#ifndef _di_level_1_parameter_checking_
if (range == 0) return f_status_set_error(f_invalid_parameter);
if (buffer.used <= range->start) return f_status_set_error(f_invalid_parameter);
#endif // _di_fl_utf_string_dynamic_seek_to_
#ifndef _di_fl_utf_string_dynamic_seek_to_char_
- f_return_status fl_utf_string_dynamic_seek_to_char(const f_utf_string_dynamic buffer, f_utf_string_location *range, const int8_t seek_to_this) {
+ f_return_status fl_utf_string_dynamic_seek_to_char(const f_utf_string_dynamic buffer, f_utf_string_range *range, const int8_t seek_to_this) {
#ifndef _di_level_1_parameter_checking_
if (range == 0) return f_status_set_error(f_invalid_parameter);
if (buffer.used <= range->start) return f_status_set_error(f_invalid_parameter);
#endif // _di_fl_utf_string_rip_nulless_
#ifndef _di_fl_utf_string_seek_line_to_
- f_return_status fl_utf_string_seek_line_to(const f_utf_string string, f_utf_string_location *range, const f_utf_character seek_to_this) {
+ f_return_status fl_utf_string_seek_line_to(const f_utf_string string, f_utf_string_range *range, const f_utf_character seek_to_this) {
#ifndef _di_level_1_parameter_checking_
if (range == 0) return f_status_set_error(f_invalid_parameter);
#endif // _di_level_1_parameter_checking_
#endif // _di_fl_utf_string_seek_line_to_
#ifndef _di_fl_utf_string_seek_line_to_char_
- f_return_status fl_utf_string_seek_line_to_char(const f_utf_string string, f_utf_string_location *range, const int8_t seek_to_this) {
+ f_return_status fl_utf_string_seek_line_to_char(const f_utf_string string, f_utf_string_range *range, const int8_t seek_to_this) {
#ifndef _di_level_1_parameter_checking_
if (range == 0) return f_status_set_error(f_invalid_parameter);
#endif // _di_level_1_parameter_checking_
#endif // _di_fl_utf_string_seek_line_to_char_
#ifndef _di_fl_utf_string_seek_line_until_graph_
- f_return_status fl_utf_string_seek_line_until_graph(const f_utf_string string, f_utf_string_location *range, const f_utf_character placeholder) {
+ f_return_status fl_utf_string_seek_line_until_graph(const f_utf_string string, f_utf_string_range *range, const f_utf_character placeholder) {
#ifndef _di_level_1_parameter_checking_
if (range == 0) return f_status_set_error(f_invalid_parameter);
#endif // _di_level_1_parameter_checking_
#endif // _di_fl_utf_string_seek_line_until_graph_
#ifndef _di_fl_utf_string_seek_line_until_non_graph_
- f_return_status fl_utf_string_seek_line_until_non_graph(const f_utf_string string, f_utf_string_location *range, const f_utf_character placeholder) {
+ f_return_status fl_utf_string_seek_line_until_non_graph(const f_utf_string string, f_utf_string_range *range, const f_utf_character placeholder) {
#ifndef _di_level_1_parameter_checking_
if (range == 0) return f_status_set_error(f_invalid_parameter);
#endif // _di_level_1_parameter_checking_
#endif // _di_fl_utf_string_seek_line_until_non_graph_
#ifndef _di_fl_utf_string_seek_to_
- f_return_status fl_utf_string_seek_to(const f_utf_string string, f_utf_string_location *range, const f_utf_character seek_to_this) {
+ f_return_status fl_utf_string_seek_to(const f_utf_string string, f_utf_string_range *range, const f_utf_character seek_to_this) {
#ifndef _di_level_1_parameter_checking_
if (range == 0) return f_status_set_error(f_invalid_parameter);
#endif // _di_level_1_parameter_checking_
#endif // _di_fl_utf_string_seek_to_
#ifndef _di_fl_utf_string_seek_to_char_
- f_return_status fl_utf_string_seek_to_char(const f_utf_string string, f_utf_string_location *range, const int8_t seek_to_this) {
+ f_return_status fl_utf_string_seek_to_char(const f_utf_string string, f_utf_string_range *range, const int8_t seek_to_this) {
#ifndef _di_level_1_parameter_checking_
if (range == 0) return f_status_set_error(f_invalid_parameter);
#endif // _di_level_1_parameter_checking_
* @see fl_utf_string_dynamic_partial_append_nulless()
*/
#ifndef _di_fl_utf_string_dynamic_partial_append_
- extern f_return_status fl_utf_string_dynamic_partial_append(const f_utf_string_dynamic source, const f_utf_string_location range, f_utf_string_dynamic *destination);
+ extern f_return_status fl_utf_string_dynamic_partial_append(const f_utf_string_dynamic source, const f_utf_string_range range, f_utf_string_dynamic *destination);
#endif // _di_fl_utf_string_dynamic_partial_append_
/**
* @see fl_utf_string_dynamic_partial_append()
*/
#ifndef _di_fl_utf_string_dynamic_partial_append_nulless_
- extern f_return_status fl_utf_string_dynamic_partial_append_nulless(const f_utf_string_dynamic source, const f_utf_string_location range, f_utf_string_dynamic *destination);
+ extern f_return_status fl_utf_string_dynamic_partial_append_nulless(const f_utf_string_dynamic source, const f_utf_string_range range, f_utf_string_dynamic *destination);
#endif // _di_fl_utf_string_dynamic_partial_append_nulless_
/**
* @see fl_utf_string_dynamic_compare_trim()
*/
#ifndef _di_fl_utf_string_dynamic_partial_compare_
- extern f_return_status fl_utf_string_dynamic_partial_compare(const f_utf_string_dynamic string1, const f_utf_string_dynamic string2, const f_utf_string_location range1, const f_utf_string_location range2);
+ extern f_return_status fl_utf_string_dynamic_partial_compare(const f_utf_string_dynamic string1, const f_utf_string_dynamic string2, const f_utf_string_range range1, const f_utf_string_range range2);
#endif // _di_fl_utf_string_dynamic_partial_compare_
/**
* @see fl_utf_string_dynamic_compare_trim()
*/
#ifndef _di_fl_utf_string_dynamic_partial_compare_trim_
- extern f_return_status fl_utf_string_dynamic_partial_compare_trim(const f_utf_string_dynamic string1, const f_utf_string_dynamic string2, const f_utf_string_location range1, const f_utf_string_location range2);
+ extern f_return_status fl_utf_string_dynamic_partial_compare_trim(const f_utf_string_dynamic string1, const f_utf_string_dynamic string2, const f_utf_string_range range1, const f_utf_string_range range2);
#endif // _di_fl_utf_string_dynamic_partial_compare_trim_
/**
* @see fl_utf_string_dynamic_mash_nulless()
*/
#ifndef _di_fl_utf_string_dynamic_partial_mash_
- extern f_return_status fl_utf_string_dynamic_partial_mash(const f_utf_string glue, const f_utf_string_length glue_length, const f_utf_string_dynamic source, const f_utf_string_location range, f_utf_string_dynamic *destination);
+ extern f_return_status fl_utf_string_dynamic_partial_mash(const f_utf_string glue, const f_utf_string_length glue_length, const f_utf_string_dynamic source, const f_utf_string_range range, f_utf_string_dynamic *destination);
#endif // _di_fl_utf_string_dynamic_partial_mash_
/**
* @see fl_utf_string_dynamic_partial_mash()
*/
#ifndef _di_fl_utf_string_dynamic_partial_mash_nulless_
- extern f_return_status fl_utf_string_dynamic_partial_mash_nulless(const f_utf_string glue, const f_utf_string_length glue_length, const f_utf_string_dynamic source, const f_utf_string_location range, f_utf_string_dynamic *destination);
+ extern f_return_status fl_utf_string_dynamic_partial_mash_nulless(const f_utf_string glue, const f_utf_string_length glue_length, const f_utf_string_dynamic source, const f_utf_string_range range, f_utf_string_dynamic *destination);
#endif // _di_fl_utf_string_dynamic_partial_mash_nulless_
/**
* @see fl_utf_string_dynamic_partial_mish_nulless()
*/
#ifndef _di_fl_utf_string_dynamic_partial_mish_
- extern f_return_status fl_utf_string_dynamic_partial_mish(const f_utf_string glue, const f_utf_string_length glue_length, const f_utf_string_dynamic source, const f_utf_string_location range, f_utf_string_dynamic *destination);
+ extern f_return_status fl_utf_string_dynamic_partial_mish(const f_utf_string glue, const f_utf_string_length glue_length, const f_utf_string_dynamic source, const f_utf_string_range range, f_utf_string_dynamic *destination);
#endif // _di_fl_utf_string_dynamic_partial_mish_
/**
* @see fl_utf_string_dynamic_partial_mish()
*/
#ifndef _di_fl_utf_string_dynamic_partial_mish_nulless_
- extern f_return_status fl_utf_string_dynamic_partial_mish_nulless(const f_utf_string glue, const f_utf_string_length glue_length, const f_utf_string_dynamic source, const f_utf_string_location range, f_utf_string_dynamic *destination);
+ extern f_return_status fl_utf_string_dynamic_partial_mish_nulless(const f_utf_string glue, const f_utf_string_length glue_length, const f_utf_string_dynamic source, const f_utf_string_range range, f_utf_string_dynamic *destination);
#endif // _di_fl_utf_string_dynamic_partial_mish_nulless_
/**
* @see fl_utf_string_dynamic_partial_prepend_nulless()
*/
#ifndef _di_fl_utf_string_dynamic_partial_prepend_
- extern f_return_status fl_utf_string_dynamic_partial_prepend(const f_utf_string_dynamic source, const f_utf_string_location range, f_utf_string_dynamic *destination);
+ extern f_return_status fl_utf_string_dynamic_partial_prepend(const f_utf_string_dynamic source, const f_utf_string_range range, f_utf_string_dynamic *destination);
#endif // _di_fl_utf_string_dynamic_partial_prepend_
/**
* @see fl_utf_string_dynamic_partial_prepend()
*/
#ifndef _di_fl_utf_string_dynamic_partial_prepend_nulless_
- extern f_return_status fl_utf_string_dynamic_partial_prepend_nulless(const f_utf_string_dynamic source, const f_utf_string_location range, f_utf_string_dynamic *destination);
+ extern f_return_status fl_utf_string_dynamic_partial_prepend_nulless(const f_utf_string_dynamic source, const f_utf_string_range range, f_utf_string_dynamic *destination);
#endif // _di_fl_utf_string_dynamic_partial_prepend_nulless_
/**
* @see fl_utf_string_dynamic_rip_nulless()
*/
#ifndef _di_fl_utf_string_dynamic_rip_
- extern f_return_status fl_utf_string_dynamic_rip(const f_utf_string_dynamic source, const f_utf_string_location range, f_utf_string_dynamic *destination);
+ extern f_return_status fl_utf_string_dynamic_rip(const f_utf_string_dynamic source, const f_utf_string_range range, f_utf_string_dynamic *destination);
#endif // _di_fl_utf_string_dynamic_rip_
/**
* @see fl_utf_string_dynamic_rip()
*/
#ifndef _di_fl_utf_string_dynamic_rip_nulless_
- extern f_return_status fl_utf_string_dynamic_rip_nulless(const f_utf_string_dynamic source, const f_utf_string_location range, f_utf_string_dynamic *destination);
+ extern f_return_status fl_utf_string_dynamic_rip_nulless(const f_utf_string_dynamic source, const f_utf_string_range range, f_utf_string_dynamic *destination);
#endif // _di_fl_utf_string_dynamic_rip_nulless_
/**
* @see fl_utf_string_seek_line_to_char()
*/
#ifndef _di_fl_utf_string_dynamic_seek_line_to_
- extern f_return_status fl_utf_string_dynamic_seek_line_to(const f_utf_string_dynamic buffer, f_utf_string_location *range, const f_utf_character seek_to_this);
+ extern f_return_status fl_utf_string_dynamic_seek_line_to(const f_utf_string_dynamic buffer, f_utf_string_range *range, const f_utf_character seek_to_this);
#endif // _di_fl_utf_string_dynamic_seek_line_to_
/**
* @see fl_utf_string_seek_line_to()
*/
#ifndef _di_fl_utf_string_seek_line_to_char_
- extern f_return_status fl_utf_string_dynamic_seek_line_to_char(const f_utf_string_dynamic buffer, f_utf_string_location *range, const int8_t seek_to_this);
+ extern f_return_status fl_utf_string_dynamic_seek_line_to_char(const f_utf_string_dynamic buffer, f_utf_string_range *range, const int8_t seek_to_this);
#endif // _di_fl_utf_string_seek_line_to_char_
/**
* @see fl_utf_string_seek_line_until_graph()
*/
#ifndef _di_fl_utf_string_dynamic_seek_line_until_graph_
- extern f_return_status fl_utf_string_dynamic_seek_line_until_graph(const f_utf_string_dynamic buffer, f_utf_string_location *range, const f_utf_character placeholder);
+ extern f_return_status fl_utf_string_dynamic_seek_line_until_graph(const f_utf_string_dynamic buffer, f_utf_string_range *range, const f_utf_character placeholder);
#endif // _di_fl_utf_string_dynamic_seek_line_until_graph_
/**
* @see fl_utf_string_seek_line_until_non_graph()
*/
#ifndef _di_fl_utf_string_dynamic_seek_line_until_non_graph_
- extern f_return_status fl_utf_string_dynamic_seek_line_until_non_graph(const f_utf_string_dynamic buffer, f_utf_string_location *range, const f_utf_character placeholder);
+ extern f_return_status fl_utf_string_dynamic_seek_line_until_non_graph(const f_utf_string_dynamic buffer, f_utf_string_range *range, const f_utf_character placeholder);
#endif // _di_fl_utf_string_dynamic_seek_line_until_non_graph_
/**
* @see fl_utf_string_seek_to_char()
*/
#ifndef _di_fl_utf_string_dynamic_seek_to_
- extern f_return_status fl_utf_string_dynamic_seek_to(const f_utf_string_dynamic buffer, f_utf_string_location *range, const f_utf_character seek_to_this);
+ extern f_return_status fl_utf_string_dynamic_seek_to(const f_utf_string_dynamic buffer, f_utf_string_range *range, const f_utf_character seek_to_this);
#endif // _di_fl_utf_string_dynamic_seek_to_
/**
* @see fl_utf_string_seek_to_char()
*/
#ifndef _di_fl_utf_string_dynamic_seek_to_char_
- extern f_return_status fl_utf_string_dynamic_seek_to_char(const f_utf_string_dynamic buffer, f_utf_string_location *range, const int8_t seek_to_this);
+ extern f_return_status fl_utf_string_dynamic_seek_to_char(const f_utf_string_dynamic buffer, f_utf_string_range *range, const int8_t seek_to_this);
#endif // _di_fl_utf_string_dynamic_seek_to_char_
/**
* @see fl_utf_string_seek_to_character()
*/
#ifndef _di_fl_utf_string_dynamic_seek_to_utf_character_
- extern f_return_status fl_utf_string_dynamic_seek_to_utf_character(const f_utf_string_dynamic buffer, f_utf_string_location *range, const f_utf_character seek_to_this);
+ extern f_return_status fl_utf_string_dynamic_seek_to_utf_character(const f_utf_string_dynamic buffer, f_utf_string_range *range, const f_utf_character seek_to_this);
#endif // _di_fl_utf_string_dynamic_seek_to_utf_character_
/**
* @see fl_utf_string_seek_line_to_char()
*/
#ifndef _di_fl_utf_string_seek_line_to_
- extern f_return_status fl_utf_string_seek_line_to(const f_utf_string string, f_utf_string_location *range, const f_utf_character seek_to_this);
+ extern f_return_status fl_utf_string_seek_line_to(const f_utf_string string, f_utf_string_range *range, const f_utf_character seek_to_this);
#endif // _di_fl_utf_string_seek_line_to_
/**
* @see fl_utf_string_seek_line_to()
*/
#ifndef _di_fl_utf_string_seek_line_to_char_
- extern f_return_status fl_utf_string_seek_line_to_char(const f_utf_string string, f_utf_string_location *range, const int8_t seek_to_this);
+ extern f_return_status fl_utf_string_seek_line_to_char(const f_utf_string string, f_utf_string_range *range, const int8_t seek_to_this);
#endif // _di_fl_utf_string_seek_line_to_char_
/**
* @see fl_utf_string_dynamic_seek_line_until_graph()
*/
#ifndef _di_fl_utf_string_seek_line_until_graph_
- extern f_return_status fl_utf_string_seek_line_until_graph(const f_utf_string string, f_utf_string_location *range, const f_utf_character placeholder);
+ extern f_return_status fl_utf_string_seek_line_until_graph(const f_utf_string string, f_utf_string_range *range, const f_utf_character placeholder);
#endif // _di_fl_utf_string_seek_line_until_graph_
/**
* @see fl_utf_string_dynamic_seek_line_until_non_graph()
*/
#ifndef _di_fl_utf_string_seek_line_until_non_graph_
- extern f_return_status fl_utf_string_seek_line_until_non_graph(const f_utf_string string, f_utf_string_location *range, const f_utf_character placeholder);
+ extern f_return_status fl_utf_string_seek_line_until_non_graph(const f_utf_string string, f_utf_string_range *range, const f_utf_character placeholder);
#endif // _di_fl_utf_string_seek_line_until_non_graph_
/**
* @see fl_utf_string_seek_to_char()
*/
#ifndef _di_fl_utf_string_seek_to_
- extern f_return_status fl_utf_string_seek_to(const f_utf_string string, f_utf_string_location *range, const f_utf_character seek_to_this);
+ extern f_return_status fl_utf_string_seek_to(const f_utf_string string, f_utf_string_range *range, const f_utf_character seek_to_this);
#endif // _di_fl_utf_string_seek_to_
/**
* @see fl_utf_string_seek_to()
*/
#ifndef _di_fl_utf_string_seek_to_character_
- extern f_return_status fl_utf_string_seek_to_char(const f_utf_string string, f_utf_string_location *range, const int8_t seek_to_this);
+ extern f_return_status fl_utf_string_seek_to_char(const f_utf_string string, f_utf_string_range *range, const int8_t seek_to_this);
#endif // _di_fl_utf_string__seek_to_character_
#ifdef __cplusplus
#endif // _di_fl_utf_file_write_
#ifndef _di_fl_utf_file_write_position_
- f_return_status fl_utf_file_write_position(f_file *file, const f_utf_string_dynamic buffer, const f_utf_string_location position) {
+ f_return_status fl_utf_file_write_position(f_file *file, const f_utf_string_dynamic buffer, const f_utf_string_range position) {
#ifndef _di_level_1_parameter_checking_
if (file == 0) return f_status_set_error(f_invalid_parameter);
if (position.start < position.stop) return f_status_set_error(f_invalid_parameter);
* f_invalid_parameter (with error bit) if a parameter is invalid.
*/
#ifndef _di_fl_utf_file_write_position_
- extern f_return_status fl_utf_file_write_position(f_file *file, const f_utf_string_dynamic buffer, const f_utf_string_location position);
+ extern f_return_status fl_utf_file_write_position(f_file *file, const f_utf_string_dynamic buffer, const f_utf_string_range position);
#endif // _di_fl_utf_file_write_position_
#ifdef __cplusplus
#endif
#ifndef _di_fll_fss_basic_read_
- f_return_status fll_fss_basic_read(f_string_dynamic *buffer, f_string_location *location, f_fss_objects *objects, f_fss_contents *contents) {
+ f_return_status fll_fss_basic_read(f_string_dynamic *buffer, f_string_range *range, f_fss_objects *objects, f_fss_contents *contents) {
#ifndef _di_level_2_parameter_checking_
if (buffer == 0) return f_status_set_error(f_invalid_parameter);
- if (location == 0) return f_status_set_error(f_invalid_parameter);
+ if (range == 0) return f_status_set_error(f_invalid_parameter);
if (objects == 0) return f_status_set_error(f_invalid_parameter);
if (contents == 0) return f_status_set_error(f_invalid_parameter);
#endif // _di_level_2_parameter_checking_
}
do {
- status = fl_fss_basic_object_read(buffer, location, &objects->array[objects->used]);
+ status = fl_fss_basic_object_read(buffer, range, &objects->array[objects->used]);
if (f_status_is_error(status)) {
return status;
}
- if (location->start >= location->stop || location->start >= buffer->used) {
+ if (range->start >= range->stop || range->start >= buffer->used) {
if (status == fl_fss_found_object || status == fl_fss_found_object_no_content) {
objects->used++;
}
if (found_data) {
- if (location->start >= buffer->used) {
+ if (range->start >= buffer->used) {
return f_none_on_eos;
}
return f_none_on_stop;
}
else {
- if (location->start >= buffer->used) {
+ if (range->start >= buffer->used) {
return f_no_data_on_eos;
}
if (status == fl_fss_found_object) {
found_data = f_true;
- status = fl_fss_basic_content_read(buffer, location, &contents->array[contents->used]);
+ status = fl_fss_basic_content_read(buffer, range, &contents->array[contents->used]);
if (f_status_is_error(status)) {
return status;
else if (status != fl_fss_found_object && status != fl_fss_found_content && status != fl_fss_found_no_content && status != fl_fss_found_object_no_content) {
return status;
}
- // When content is found, the location->start is incremented, if content is found at location->stop, then location->start will be > location.stop.
- else if (location->start >= location->stop || location->start >= buffer->used) {
+ // When content is found, the range->start is incremented, if content is found at range->stop, then range->start will be > range.stop.
+ else if (range->start >= range->stop || range->start >= buffer->used) {
if (status == fl_fss_found_object || status == fl_fss_found_content || status == fl_fss_found_no_content || status == fl_fss_found_object_no_content) {
objects->used++;
contents->used++;
}
- if (location->start >= buffer->used) {
+ if (range->start >= buffer->used) {
return f_none_on_eos;
}
objects->used++;
contents->used++;
- } while (location->start < f_string_max_size);
+ } while (range->start < f_string_max_size);
return f_status_is_error(f_number_overflow);
}
f_status status = 0;
f_array_length current = 0;
- f_string_location location = f_string_location_initialize;
+ f_string_range range = f_string_range_initialize;
- location.start = 0;
- location.stop = object.used - 1;
+ range.start = 0;
+ range.stop = object.used - 1;
- status = fl_fss_basic_object_write(buffer, object, &location);
+ status = fl_fss_basic_object_write(buffer, object, &range);
if (f_status_is_error(status) || status == f_no_data_on_stop || status == f_no_data_on_eos) {
return status;
if (status == f_none || status == f_none_on_stop || status == f_none_on_eos || status == f_none_on_eol) {
if (contents.used > 0) {
- location.start = 0;
- location.stop = contents.array[0].used - 1;
- status = fl_fss_basic_content_write(buffer, contents.array[0], &location);
+ range.start = 0;
+ range.stop = contents.array[0].used - 1;
+ status = fl_fss_basic_content_write(buffer, contents.array[0], &range);
if (f_status_is_error(status)) {
return status;
* f_number_overflow (with error bit) if the maximimum buffer size is reached.
*/
#ifndef _di_fll_fss_basic_read_
- extern f_return_status fll_fss_basic_read(f_string_dynamic *buffer, f_string_location *location, f_fss_objects *objects, f_fss_contents *contents);
+ extern f_return_status fll_fss_basic_read(f_string_dynamic *buffer, f_string_range *location, f_fss_objects *objects, f_fss_contents *contents);
#endif // _di_fll_fss_basic_read_
/**
#endif
#ifndef _di_fll_fss_basic_list_read_
- f_return_status fll_fss_basic_list_read(f_string_dynamic *buffer, f_string_location *location, f_fss_objects *objects, f_fss_contents *contents) {
+ f_return_status fll_fss_basic_list_read(f_string_dynamic *buffer, f_string_range *location, f_fss_objects *objects, f_fss_contents *contents) {
#ifndef _di_level_2_parameter_checking_
if (buffer == 0) return f_status_set_error(f_invalid_parameter);
if (location == 0) return f_status_set_error(f_invalid_parameter);
f_status status = 0;
f_array_length current = 0;
- f_string_location location = f_string_location_initialize;
+ f_string_range range = f_string_range_initialize;
- location.start = 0;
- location.stop = object.used - 1;
+ range.start = 0;
+ range.stop = object.used - 1;
- status = fl_fss_basic_list_object_write(object, &location, buffer);
+ status = fl_fss_basic_list_object_write(object, &range, buffer);
if (f_status_is_error(status) || status == f_no_data_on_stop || status == f_no_data_on_eos) {
return status;
if (status == f_none || status == f_none_on_stop || status == f_none_on_eos || status == f_none_on_eol) {
if (contents.used > 0) {
- location.start = 0;
- location.stop = contents.array[0].used - 1;
- status = fl_fss_basic_list_content_write(contents.array[0], &location, buffer);
+ range.start = 0;
+ range.stop = contents.array[0].used - 1;
+ status = fl_fss_basic_list_content_write(contents.array[0], &range, buffer);
if (f_status_is_error(status) || status == f_no_data_on_stop || status == f_no_data_on_eos) {
return status;
* f_number_overflow (with error bit) if the maximimum buffer size is reached.
*/
#ifndef _di_fll_fss_basic_list_read_
- extern f_return_status fll_fss_basic_list_read(f_string_dynamic *buffer, f_string_location *location, f_fss_objects *objects, f_fss_contents *contents);
+ extern f_return_status fll_fss_basic_list_read(f_string_dynamic *buffer, f_string_range *location, f_fss_objects *objects, f_fss_contents *contents);
#endif // _di_fll_fss_basic_list_read_
/**
#endif
#ifndef _di_fll_fss_extended_read_
- f_return_status fll_fss_extended_read(f_string_dynamic *buffer, f_string_location *location, f_fss_objects *objects, f_fss_contents *contents) {
+ f_return_status fll_fss_extended_read(f_string_dynamic *buffer, f_string_range *location, f_fss_objects *objects, f_fss_contents *contents) {
#ifndef _di_level_2_parameter_checking_
if (buffer == 0) return f_status_set_error(f_invalid_parameter);
if (location == 0) return f_status_set_error(f_invalid_parameter);
f_status status = 0;
f_array_length current = 0;
- f_string_location location = f_string_location_initialize;
+ f_string_range range = f_string_range_initialize;
- location.start = 0;
- location.stop = object.used - 1;
+ range.start = 0;
+ range.stop = object.used - 1;
- status = fl_fss_extended_object_write(object, &location, buffer);
+ status = fl_fss_extended_object_write(object, &range, buffer);
if (f_status_is_error(status) || status == f_no_data_on_stop || status == f_no_data_on_eos) {
return status;
if (status == f_none || status == f_none_on_stop || status == f_none_on_eos || status == f_none_on_eol) {
while (current < contents.used) {
- location.start = 0;
- location.stop = contents.array[current].used - 1;
- status = fl_fss_extended_content_write(contents.array[current], &location, buffer);
+ range.start = 0;
+ range.stop = contents.array[current].used - 1;
+ status = fl_fss_extended_content_write(contents.array[current], &range, buffer);
if (f_status_is_error(status) || status == f_no_data_on_stop || status == f_no_data_on_eos) {
return status;
* f_number_overflow (with error bit) if the maximimum buffer size is reached.
*/
#ifndef _di_fll_fss_extended_read_
- extern f_return_status fll_fss_extended_read(f_string_dynamic *buffer, f_string_location *location, f_fss_objects *objects, f_fss_contents *contents);
+ extern f_return_status fll_fss_extended_read(f_string_dynamic *buffer, f_string_range *location, f_fss_objects *objects, f_fss_contents *contents);
#endif // _di_fll_fss_extended_read_
/**
#endif
#ifndef _di_fll_fss_extended_list_read_
- f_return_status fll_fss_extended_list_read(f_string_dynamic *buffer, f_string_location *location, f_fss_nest *nest) {
+ f_return_status fll_fss_extended_list_read(f_string_dynamic *buffer, f_string_range *location, f_fss_nest *nest) {
#ifndef _di_level_3_parameter_checking_
if (buffer == 0) return f_status_set_error(f_invalid_parameter);
if (location == 0) return f_status_set_error(f_invalid_parameter);
f_status status = 0;
f_array_length current = 0;
- f_string_location location = f_string_location_initialize;
+ f_string_range range = f_string_range_initialize;
- location.start = 0;
- location.stop = object.used - 1;
+ range.start = 0;
+ range.stop = object.used - 1;
- status = fl_fss_extended_list_object_write(object, &location, buffer);
+ status = fl_fss_extended_list_object_write(object, &range, buffer);
if (f_status_is_error(status) || status == f_no_data_on_stop || status == f_no_data_on_eos) {
return status;
if (status == f_none || status == f_none_on_stop || status == f_none_on_eos || status == f_none_on_eol) {
if (contents.used > 0) {
- location.start = 0;
- location.stop = contents.array[0].used - 1;
- status = fl_fss_extended_list_content_write(contents.array[0], &location, buffer);
+ range.start = 0;
+ range.stop = contents.array[0].used - 1;
+ status = fl_fss_extended_list_content_write(contents.array[0], &range, buffer);
if (f_status_is_error(status) || status == f_no_data_on_stop || status == f_no_data_on_eos) {
return status;
* f_number_overflow (with error bit) if the maximimum buffer size is reached.
*/
#ifndef _di_fll_fss_extended_list_read_
- extern f_return_status fll_fss_extended_list_read(f_string_dynamic *buffer, f_string_location *location, f_fss_nest *nest);
+ extern f_return_status fll_fss_extended_list_read(f_string_dynamic *buffer, f_string_range *location, f_fss_nest *nest);
#endif // _di_fll_fss_extended_list_read_
/**
if (found_command) {
firewall_local_data local = firewall_local_data_initialize;
firewall_reserved_chains reserved = firewall_reserved_chains_initialize;
- f_string_location input = f_string_location_initialize;
+ f_string_range input = f_string_range_initialize;
if (command == firewall_parameter_command_show) {
// Warning: these are hardcoded print commands (I am not certain how I am going to implement external 'show' rules as the default-firewall setting file is the wrong place to put this)
}
else {
{
- f_string_location input = f_string_location_initialize;
+ f_string_range input = f_string_range_initialize;
input.stop = local_buffer.used - 1;
f_array_length j = 0;
f_string_length length = 0;
- f_string_location location = f_string_location_initialize;
+ f_string_range range = f_string_range_initialize;
f_string_dynamics arguments = f_string_dynamics_initialize;
f_string_dynamic fixed_string = f_string_dynamic_initialize;
j = 0;
// skip globally reserved chain name: main
- location.start = 0;
- location.stop = firewall_group_main_length - 1;
+ range.start = 0;
+ range.stop = firewall_group_main_length - 1;
fixed_string.string = firewall_group_main;
fixed_string.used = firewall_group_main_length;
- if (fl_string_dynamic_partial_compare(local->buffer, fixed_string, local->chain_objects.array[i], location) == f_equal_to) {
+ if (fl_string_dynamic_partial_compare(local->buffer, fixed_string, local->chain_objects.array[i], range) == f_equal_to) {
new_chain = f_false;
reserved->has_main = f_true;
reserved->main_at = i;
}
// skip globally reserved chain name: stop
- location.start = 0;
- location.stop = firewall_group_stop_length - 1;
+ range.start = 0;
+ range.stop = firewall_group_stop_length - 1;
fixed_string.string = firewall_group_stop;
fixed_string.used = firewall_group_stop_length;
- if (fl_string_dynamic_partial_compare(local->buffer, fixed_string, local->chain_objects.array[i], location) == f_equal_to) {
+ if (fl_string_dynamic_partial_compare(local->buffer, fixed_string, local->chain_objects.array[i], range) == f_equal_to) {
new_chain = f_false;
reserved->has_stop = f_true;
reserved->stop_at = i;
}
// skip globally reserved chain name: lock
- location.start = 0;
- location.stop = firewall_group_lock_length - 1;
+ range.start = 0;
+ range.stop = firewall_group_lock_length - 1;
fixed_string.string = firewall_group_lock;
fixed_string.used = firewall_group_lock_length;
- if (fl_string_dynamic_partial_compare(local->buffer, fixed_string, local->chain_objects.array[i], location) == f_equal_to) {
+ if (fl_string_dynamic_partial_compare(local->buffer, fixed_string, local->chain_objects.array[i], range) == f_equal_to) {
new_chain = f_false;
reserved->has_lock = f_true;
reserved->lock_at = i;
}
// skip globally reserved chain name: none
- location.start = 0;
- location.stop = firewall_group_lock_length - 1;
+ range.start = 0;
+ range.stop = firewall_group_lock_length - 1;
fixed_string.string = firewall_chain_none;
fixed_string.used = firewall_chain_none_length;
- if (fl_string_dynamic_partial_compare(local->buffer, fixed_string, local->chain_objects.array[i], location) == f_equal_to) {
+ if (fl_string_dynamic_partial_compare(local->buffer, fixed_string, local->chain_objects.array[i], range) == f_equal_to) {
new_chain = f_false;
}
if (new_chain) {
while (j < data->chains.used) {
- location.start = 0;
- location.stop = data->chains.array[j].used - 1;
+ range.start = 0;
+ range.stop = data->chains.array[j].used - 1;
- if (fl_string_dynamic_partial_compare(local->buffer, data->chains.array[j], local->chain_objects.array[i], location) == f_equal_to) {
+ if (fl_string_dynamic_partial_compare(local->buffer, data->chains.array[j], local->chain_objects.array[i], range) == f_equal_to) {
new_chain = f_false;
local->chain_ids.array[i] = j;
return status;
}
else {
- f_string_location input = f_string_location_initialize;
+ f_string_range input = f_string_range_initialize;
input.stop = local->buffer.used - 1;
return status;
}
-f_return_status firewall_process_rules(f_string_location *input, firewall_local_data *local, firewall_data *data) {
+f_return_status firewall_process_rules(f_string_range *input, firewall_local_data *local, firewall_data *data) {
f_status status = f_none;
status = fll_fss_extended_read(&local->buffer, input, &local->rule_objects, &local->rule_contents);
/**
* Process buffered rules.
*/
-f_return_status firewall_process_rules(f_string_location *input, firewall_local_data *local, firewall_data *data) f_gcc_attribute_visibility_internal;
+f_return_status firewall_process_rules(f_string_range *input, firewall_local_data *local, firewall_data *data) f_gcc_attribute_visibility_internal;
/**
* Delete allocated data.
f_status status = f_none;
{
- f_string_location input = f_string_location_initialize;
+ f_string_range input = f_string_range_initialize;
input.start = 0;
input.stop = data->buffer.used - 1;
return f_none;
}
- f_return_status (*print_object)(FILE *, const f_string_dynamic, const f_string_location) = &f_print_string_dynamic_partial;
+ f_return_status (*print_object)(FILE *, const f_string_dynamic, const f_string_range) = &f_print_string_dynamic_partial;
if (data->parameters[fss_basic_list_read_parameter_trim].result == f_console_result_found) {
print_object = &fl_print_trim_string_dynamic_partial;
bool object = (data->parameters[fss_basic_list_write_parameter_object].result == f_console_result_found);
f_string_dynamic buffer = f_string_dynamic_initialize;
- f_string_location location = f_string_location_initialize;
+ f_string_range range = f_string_range_initialize;
if (data->process_pipe) {
f_file file = f_file_initialize;
return f_status_set_error(status);
}
- location.start = 0;
- location.stop = input.used - 1;
+ range.start = 0;
+ range.stop = input.used - 1;
if (object) {
- status = fl_fss_basic_list_object_write(input, &location, &buffer);
+ status = fl_fss_basic_list_object_write(input, &range, &buffer);
if (f_status_is_error(status) || status == f_no_data_on_stop || status == f_no_data_on_eos || status == f_no_data_on_eol) {
return f_status_set_error(status);
}
}
else {
- status = fl_fss_basic_list_content_write(input, &location, &buffer);
+ status = fl_fss_basic_list_content_write(input, &range, &buffer);
if (f_status_is_error(status) || status == f_no_data_on_stop || status == f_no_data_on_eos || status == f_no_data_on_eol) {
return f_status_set_error(status);
input.string = arguments.argv[data->parameters[fss_basic_list_write_parameter_string].additional.array[0]];
input.used = strlen(input.string);
- location.start = 0;
- location.stop = input.used - 1;
+ range.start = 0;
+ range.stop = input.used - 1;
if (object) {
- status = fl_fss_basic_list_object_write(input, &location, &buffer);
+ status = fl_fss_basic_list_object_write(input, &range, &buffer);
if (f_status_is_error(status) || status == f_no_data_on_stop || status == f_no_data_on_eos || status == f_no_data_on_eol) {
return f_status_set_error(status);
}
}
else {
- status = fl_fss_basic_list_content_write(input, &location, &buffer);
+ status = fl_fss_basic_list_content_write(input, &range, &buffer);
if (f_status_is_error(status) || status == f_no_data_on_stop || status == f_no_data_on_eos || status == f_no_data_on_eol) {
return f_status_set_error(status);
f_status status = f_none;
{
- f_string_location input = f_string_location_initialize;
+ f_string_range input = f_string_range_initialize;
input.start = 0;
input.stop = data->buffer.used - 1;
return f_none;
}
- f_return_status (*print_object)(FILE *, const f_string_dynamic, const f_string_location) = &f_print_string_dynamic_partial;
+ f_return_status (*print_object)(FILE *, const f_string_dynamic, const f_string_range) = &f_print_string_dynamic_partial;
if (data->parameters[fss_basic_read_parameter_trim].result == f_console_result_found) {
print_object = &fl_print_trim_string_dynamic_partial;
bool object = (data->parameters[fss_basic_write_parameter_object].result == f_console_result_found);
f_string_dynamic buffer = f_string_dynamic_initialize;
- f_string_location location = f_string_location_initialize;
+ f_string_range range = f_string_range_initialize;
if (data->process_pipe) {
f_file file = f_file_initialize;
return f_status_set_error(status);
}
- location.start = 0;
- location.stop = input.used - 1;
+ range.start = 0;
+ range.stop = input.used - 1;
if (object) {
- status = fl_fss_basic_object_write(&buffer, input, &location);
+ status = fl_fss_basic_object_write(&buffer, input, &range);
if (f_status_is_error(status) || status == f_no_data_on_stop || status == f_no_data_on_eos) {
return f_status_set_error(status);
}
}
else {
- status = fl_fss_basic_content_write(&buffer, input, &location);
+ status = fl_fss_basic_content_write(&buffer, input, &range);
if (f_status_is_error(status) || status == f_no_data_on_stop || status == f_no_data_on_eos) {
return f_status_set_error(status);
input.string = arguments.argv[data->parameters[fss_basic_write_parameter_string].additional.array[0]];
input.used = strlen(input.string);
- location.start = 0;
- location.stop = input.used - 1;
+ range.start = 0;
+ range.stop = input.used - 1;
if (object) {
- status = fl_fss_basic_object_write(&buffer, input, &location);
+ status = fl_fss_basic_object_write(&buffer, input, &range);
if (f_status_is_error(status) || status == f_no_data_on_stop || status == f_no_data_on_eos) {
return f_status_set_error(status);
}
}
else {
- status = fl_fss_basic_content_write(&buffer, input, &location);
+ status = fl_fss_basic_content_write(&buffer, input, &range);
if (f_status_is_error(status) || status == f_no_data_on_stop || status == f_no_data_on_eos) {
return f_status_set_error(status);
f_status status = f_none;
{
- f_string_location input = f_string_location_initialize;
+ f_string_range input = f_string_range_initialize;
input.start = 0;
input.stop = data->buffer.used - 1;
if (depth_setting.index_name > 0) {
memset(names, 0, sizeof(bool) * items->used);
- f_string_location value_location = f_string_location_initialize;
- value_location.stop = depth_setting.value_name.used - 1;
+ f_string_range value_range = f_string_range_initialize;
+ value_range.stop = depth_setting.value_name.used - 1;
if (data->parameters[fss_extended_list_read_parameter_trim].result == f_console_result_found) {
for (f_string_length i = 0; i < items->used; i++) {
- if (fl_string_dynamic_partial_compare_trim(data->buffer, depth_setting.value_name, items->array[i].object, value_location) == f_equal_to) {
+ if (fl_string_dynamic_partial_compare_trim(data->buffer, depth_setting.value_name, items->array[i].object, value_range) == f_equal_to) {
names[i] = 1;
}
} // for
}
else {
for (f_string_length i = 0; i < items->used; i++) {
- if (fl_string_dynamic_partial_compare(data->buffer, depth_setting.value_name, items->array[i].object, value_location) == f_equal_to) {
+ if (fl_string_dynamic_partial_compare(data->buffer, depth_setting.value_name, items->array[i].object, value_range) == f_equal_to) {
names[i] = 1;
}
} // for
return f_none;
}
- f_return_status (*print_object)(FILE *, const f_string_dynamic, const f_string_location) = &f_print_string_dynamic_partial;
+ f_return_status (*print_object)(FILE *, const f_string_dynamic, const f_string_range) = &f_print_string_dynamic_partial;
if (data->parameters[fss_extended_list_read_parameter_trim].result == f_console_result_found) {
print_object = &fl_print_trim_string_dynamic_partial;
f_status status = f_none;
{
- f_string_location input = f_string_location_initialize;
+ f_string_range input = f_string_range_initialize;
input.start = 0;
input.stop = data->buffer.used - 1;
return f_none;
}
- f_return_status (*print_object)(FILE *, const f_string_dynamic, const f_string_location) = &f_print_string_dynamic_partial;
+ f_return_status (*print_object)(FILE *, const f_string_dynamic, const f_string_range) = &f_print_string_dynamic_partial;
if (data->parameters[fss_extended_read_parameter_trim].result == f_console_result_found) {
print_object = &fl_print_trim_string_dynamic_partial;
bool object = (data->parameters[fss_extended_write_parameter_object].result == f_console_result_found);
f_string_dynamic buffer = f_string_dynamic_initialize;
- f_string_location location = f_string_location_initialize;
+ f_string_range range = f_string_range_initialize;
if (data->process_pipe) {
f_file file = f_file_initialize;
return f_status_set_error(status);
}
- location.start = 0;
- location.stop = input.used - 1;
+ range.start = 0;
+ range.stop = input.used - 1;
if (object) {
- status = fl_fss_extended_object_write(input, &location, &buffer);
+ status = fl_fss_extended_object_write(input, &range, &buffer);
if (f_status_is_error(status) || status == f_no_data_on_stop || status == f_no_data_on_eos) {
return f_status_set_error(status);
}
}
else {
- status = fl_fss_extended_content_write(input, &location, &buffer);
+ status = fl_fss_extended_content_write(input, &range, &buffer);
if (f_status_is_error(status) || status == f_no_data_on_stop || status == f_no_data_on_eos) {
return f_status_set_error(status);
input.string = arguments.argv[data->parameters[fss_extended_write_parameter_string].additional.array[0]];
input.used = strlen(input.string);
- location.start = 0;
- location.stop = input.used - 1;
+ range.start = 0;
+ range.stop = input.used - 1;
- status = fl_fss_extended_object_write(input, &location, &buffer);
+ status = fl_fss_extended_object_write(input, &range, &buffer);
if (f_status_is_error(status) || status == f_no_data_on_stop || status == f_no_data_on_eos) {
return f_status_set_error(status);
input.string = arguments.argv[data->parameters[fss_extended_write_parameter_string].additional.array[i]];
input.used = strlen(input.string);
- location.start = 0;
- location.stop = input.used - 1;
+ range.start = 0;
+ range.stop = input.used - 1;
- status = fl_fss_extended_content_write(input, &location, &buffer);
+ status = fl_fss_extended_content_write(input, &range, &buffer);
if (f_status_is_error(status) || status == f_no_data_on_stop || status == f_no_data_on_eos) {
return f_status_set_error(status);
return f_status_set_error(status);
} else {
- f_string_location input = f_string_location_initialize;
+ f_string_range input = f_string_range_initialize;
input.stop = buffer->used - 1;
f_return_status init_process_main_rule(const init_data data, f_string_dynamic *buffer, init_data *settings) {
f_status status = f_none;
f_string_dynamic buffer = f_string_dynamic_initialize;
- f_string_location location = f_string_location_initialize;
+ f_string_range range = f_string_range_initialize;
f_fss_objects objects = f_fss_objects_initialize;
f_fss_contents contents = f_fss_contents_initialize;
f_string_length position = 0;