]> Kevux Git Server - fll/blob
87ae25a2a421be065483e93a46046e8c2751dd92
[fll] /
1 .TH fl_conversion_dynamic_partial_to_unsigned_detect "3" "July 2023" "FLL - Featureless Linux Library 0.6.8" "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 Hexidecimals begin with either '0x' or '0X'.
20 .br
21 Duodecimals begin with either '0d' or '0D'.
22 .br
23 Octals begin with either '0o' or '0O'.
24 .br
25 Binaries begin with either '0b' or '0B'.
26 .br
27 Decimal is used for all other cases.
28 .PP
29 Leading 0's and whitespace are ignored. Whitespace after the first digit is considered invalid.
30 .PP
31 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.
32 .SH PARAMETERS
33 .TP
34 .B data
35 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.
36
37 .TP
38 .B buffer
39 The string to convert.
40
41 .TP
42 .B range
43 The start/stop range to convert.
44
45 .TP
46 .B number
47 This will store the value of the converted string. This value is only changed on success.
48
49 .SH RETURN VALUE
50 .PP
51 \fBF_none\fP on success.
52 .br
53 \fBF_data_not\fP if string starts with a null (length is 0).
54 .br
55 \fBF_base_not\fP (with error bit) if no supported or valid base unit is provided.
56 .br
57 \fBF_complete_not_utf\fP (with error bit) if an incomplete UTF-8 fragment is found.
58 .br
59 \fBF_number\fP (with error bit) if parameter is not a number.
60 .br
61 \fBF_number_decimal\fP (with error bit) if number has a decimal digit.
62 .br
63 \fBF_number_negative\fP (with error bit) on negative value.
64 .br
65 \fBF_number_positive\fP (with error bit) on positive value (has a +, such as '+1', when only '1' is valid here).
66 .br
67 \fBF_number_overflow\fP (with error bit) on integer overflow.
68 .br
69 \fBF_parameter\fP (with error bit) if a parameter is invalid.
70 .SH AUTHOR
71 Written by Kevin Day.
72 .SH COPYRIGHT
73 .PP
74 Copyright \(co 2007-2023 Kevin Day, GNU LGPL Version 2.1 or later.