]> Kevux Git Server - fll/blob
15b700d387010d9143be4c3a9037b3ed141aa38b
[fll] /
1 .TH fl_conversion_dynamic_partial_to_unsigned_detect "3" "May 2024" "FLL - Featureless Linux Library 0.6.10" "Library Functions"
2 .SH "NAME"
3 fl_conversion_dynamic_partial_to_unsigned_detect
4 .SH SYNOPSIS
5 .nf
6 .B #include <fll/level_1/conversion.h>
7 .sp
8 \fBf_status_t fl_conversion_dynamic_partial_to_unsigned_detect\fP(
9     \fBconst fl_conversion_data_t \fP\fIdata\fP,
10     \fBconst f_string_static_t    \fP\fIbuffer\fP,
11     \fBconst f_string_range_t     \fP\fIrange\fP,
12     \fBf_number_unsigned_t *const \fP\fInumber\fP
13 );
14 .fi
15 .SH DESCRIPTION
16 .PP
17 Convert a series of positive number characters into an f_number_unsigned_t.
18 .PP
19 This will stop at one of the following: range.stop or a non-digit.
20 .br
21 This will ignore NULL values.
22 .br
23 This will not process signed statuses (+/-).
24 .br
25 This will detect based types as follows:
26   - Hexidecimals begin with either '0x' or '0X'.
27   - Duodecimals begin with either '0d' or '0D'.
28   - Octals begin with either '0o' or '0O'.
29   - Binaries begin with either '0b' or '0B'.
30   - Decimal is used for all other cases.
31 .br
32 Leading 0's and whitespace are ignored. Whitespace after the first digit is considered invalid.
33 .PP
34 This function is similar to strtoull(), but the behavior of error handling and special bases are different. In particular, octals are specified here with '0b' prefix or '0B' prefix instead of the ridiculous '0' prefix. Negative values are reported as such instead of being converted into the unsigned equivalent.
35 .SH PARAMETERS
36 .TP
37 .B data
38 Conversion data for specifying things such as treating this as a negative number. This auto-detects the base and negative, ignoring the base number and negative flag.
39
40 .TP
41 .B buffer
42 The string to convert.
43
44 .TP
45 .B range
46 The start/stop range to convert.
47
48 .TP
49 .B number
50 This will store the value of the converted string. This value is only changed on success.
51
52 .SH RETURN VALUE
53 .PP
54 \fBF_none\fP on success.
55 .br
56 \fBF_data_not\fP if string starts with a null (length is 0).
57 .br
58 \fBF_base_not\fP (with error bit) if no supported or valid base unit is provided.
59 .br
60 \fBF_complete_not_utf\fP (with error bit) if an incomplete UTF-8 fragment is found.
61 .br
62 \fBF_number\fP (with error bit) if parameter is not a number.
63 .br
64 \fBF_number_decimal\fP (with error bit) if number has a decimal digit.
65 .br
66 \fBF_number_negative\fP (with error bit) on negative value.
67 .br
68 \fBF_number_positive\fP (with error bit) on positive value (has a +, such as '+1', when only '1' is valid here).
69 .br
70 \fBF_number_overflow\fP (with error bit) on integer overflow.
71 .br
72 \fBF_parameter\fP (with error bit) if a parameter is invalid.
73 .SH SEE ALSO
74 .PP
75 .nh
76 .ad l
77 \fIfl_conversion_dynamic_partial_to_signed\fP(3), \fIfl_conversion_dynamic_partial_to_signed_detect\fP(3), \fIfl_conversion_dynamic_partial_to_unsigned\fP(3), \fIfl_conversion_dynamic_partial_to_unsigned_detect\fP(3), \fIfl_conversion_dynamic_to_signed\fP(3), \fIfl_conversion_dynamic_to_signed_detect\fP(3), \fIfl_conversion_dynamic_to_unsigned\fP(3), \fIfl_conversion_dynamic_to_unsigned_detect\fP(3), \fIstrtoull()\fP
78 .ad
79 .hy
80 .SH AUTHOR
81 Written by Kevin Day.
82 .SH COPYRIGHT
83 .PP
84 Copyright \(co 2007-2024 Kevin Day, GNU LGPL Version 2.1 or later.