/work/obj-fuzz/dist/include/mozilla/Sprintf.h
Line | Count | Source |
1 | | /* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ |
2 | | /* vim: set ts=8 sts=2 et sw=2 tw=80: */ |
3 | | /* This Source Code Form is subject to the terms of the Mozilla Public |
4 | | * License, v. 2.0. If a copy of the MPL was not distributed with this |
5 | | * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ |
6 | | |
7 | | /* Provides a safer sprintf for printing to fixed-size character arrays. */ |
8 | | |
9 | | #ifndef mozilla_Sprintf_h_ |
10 | | #define mozilla_Sprintf_h_ |
11 | | |
12 | | #include <stdio.h> |
13 | | #include <stdarg.h> |
14 | | |
15 | | #include "mozilla/Assertions.h" |
16 | | #include "mozilla/Attributes.h" |
17 | | |
18 | | #ifdef __cplusplus |
19 | | |
20 | | template <size_t N> |
21 | | MOZ_FORMAT_PRINTF(2, 0) |
22 | | int VsprintfLiteral(char (&buffer)[N], const char* format, va_list args) |
23 | 41 | { |
24 | 41 | MOZ_ASSERT(format != buffer); |
25 | 41 | int result = vsnprintf(buffer, N, format, args); |
26 | 41 | buffer[N - 1] = '\0'; |
27 | 41 | return result; |
28 | 41 | } Unexecuted instantiation: int VsprintfLiteral<4096ul>(char (&) [4096ul], char const*, __va_list_tag*) int VsprintfLiteral<320ul>(char (&) [320ul], char const*, __va_list_tag*) Line | Count | Source | 23 | 9 | { | 24 | 9 | MOZ_ASSERT(format != buffer); | 25 | 9 | int result = vsnprintf(buffer, N, format, args); | 26 | 9 | buffer[N - 1] = '\0'; | 27 | 9 | return result; | 28 | 9 | } |
int VsprintfLiteral<40ul>(char (&) [40ul], char const*, __va_list_tag*) Line | Count | Source | 23 | 3 | { | 24 | 3 | MOZ_ASSERT(format != buffer); | 25 | 3 | int result = vsnprintf(buffer, N, format, args); | 26 | 3 | buffer[N - 1] = '\0'; | 27 | 3 | return result; | 28 | 3 | } |
Unexecuted instantiation: int VsprintfLiteral<64ul>(char (&) [64ul], char const*, __va_list_tag*) int VsprintfLiteral<16ul>(char (&) [16ul], char const*, __va_list_tag*) Line | Count | Source | 23 | 3 | { | 24 | 3 | MOZ_ASSERT(format != buffer); | 25 | 3 | int result = vsnprintf(buffer, N, format, args); | 26 | 3 | buffer[N - 1] = '\0'; | 27 | 3 | return result; | 28 | 3 | } |
Unexecuted instantiation: int VsprintfLiteral<1024ul>(char (&) [1024ul], char const*, __va_list_tag*) Unexecuted instantiation: int VsprintfLiteral<72ul>(char (&) [72ul], char const*, __va_list_tag*) Unexecuted instantiation: int VsprintfLiteral<2048ul>(char (&) [2048ul], char const*, __va_list_tag*) int VsprintfLiteral<39ul>(char (&) [39ul], char const*, __va_list_tag*) Line | Count | Source | 23 | 12 | { | 24 | 12 | MOZ_ASSERT(format != buffer); | 25 | 12 | int result = vsnprintf(buffer, N, format, args); | 26 | 12 | buffer[N - 1] = '\0'; | 27 | 12 | return result; | 28 | 12 | } |
Unexecuted instantiation: int VsprintfLiteral<64ul>(char (&) [64ul], char const*, __va_list_tag*) Unexecuted instantiation: int VsprintfLiteral<32ul>(char (&) [32ul], char const*, __va_list_tag*) Unexecuted instantiation: int VsprintfLiteral<200ul>(char (&) [200ul], char const*, __va_list_tag*) Unexecuted instantiation: int VsprintfLiteral<9ul>(char (&) [9ul], char const*, __va_list_tag*) Unexecuted instantiation: int VsprintfLiteral<18ul>(char (&) [18ul], char const*, __va_list_tag*) Unexecuted instantiation: int VsprintfLiteral<512ul>(char (&) [512ul], char const*, __va_list_tag*) Unexecuted instantiation: int VsprintfLiteral<20ul>(char (&) [20ul], char const*, __va_list_tag*) Unexecuted instantiation: int VsprintfLiteral<504ul>(char (&) [504ul], char const*, __va_list_tag*) Unexecuted instantiation: int VsprintfLiteral<128ul>(char (&) [128ul], char const*, __va_list_tag*) Unexecuted instantiation: int VsprintfLiteral<17ul>(char (&) [17ul], char const*, __va_list_tag*) Unexecuted instantiation: int VsprintfLiteral<3ul>(char (&) [3ul], char const*, __va_list_tag*) Unexecuted instantiation: int VsprintfLiteral<256ul>(char (&) [256ul], char const*, __va_list_tag*) Unexecuted instantiation: int VsprintfLiteral<48ul>(char (&) [48ul], char const*, __va_list_tag*) Unexecuted instantiation: int VsprintfLiteral<24ul>(char (&) [24ul], char const*, __va_list_tag*) Unexecuted instantiation: int VsprintfLiteral<21ul>(char (&) [21ul], char const*, __va_list_tag*) Unexecuted instantiation: int VsprintfLiteral<6ul>(char (&) [6ul], char const*, __va_list_tag*) Unexecuted instantiation: int VsprintfLiteral<100ul>(char (&) [100ul], char const*, __va_list_tag*) Unexecuted instantiation: int VsprintfLiteral<10ul>(char (&) [10ul], char const*, __va_list_tag*) Unexecuted instantiation: int VsprintfLiteral<31ul>(char (&) [31ul], char const*, __va_list_tag*) Unexecuted instantiation: int VsprintfLiteral<300ul>(char (&) [300ul], char const*, __va_list_tag*) int VsprintfLiteral<30ul>(char (&) [30ul], char const*, __va_list_tag*) Line | Count | Source | 23 | 14 | { | 24 | 14 | MOZ_ASSERT(format != buffer); | 25 | 14 | int result = vsnprintf(buffer, N, format, args); | 26 | 14 | buffer[N - 1] = '\0'; | 27 | 14 | return result; | 28 | 14 | } |
Unexecuted instantiation: int VsprintfLiteral<500ul>(char (&) [500ul], char const*, __va_list_tag*) Unexecuted instantiation: int VsprintfLiteral<96ul>(char (&) [96ul], char const*, __va_list_tag*) Unexecuted instantiation: int VsprintfLiteral<150ul>(char (&) [150ul], char const*, __va_list_tag*) Unexecuted instantiation: int VsprintfLiteral<5ul>(char (&) [5ul], char const*, __va_list_tag*) Unexecuted instantiation: int VsprintfLiteral<60ul>(char (&) [60ul], char const*, __va_list_tag*) Unexecuted instantiation: int VsprintfLiteral<50ul>(char (&) [50ul], char const*, __va_list_tag*) Unexecuted instantiation: int VsprintfLiteral<2000ul>(char (&) [2000ul], char const*, __va_list_tag*) Unexecuted instantiation: int VsprintfLiteral<15ul>(char (&) [15ul], char const*, __va_list_tag*) Unexecuted instantiation: int VsprintfLiteral<11ul>(char (&) [11ul], char const*, __va_list_tag*) Unexecuted instantiation: int VsprintfLiteral<12ul>(char (&) [12ul], char const*, __va_list_tag*) |
29 | | |
30 | | template <size_t N> |
31 | | MOZ_FORMAT_PRINTF(2, 3) |
32 | | int SprintfLiteral(char (&buffer)[N], const char* format, ...) |
33 | 41 | { |
34 | 41 | va_list args; |
35 | 41 | va_start(args, format); |
36 | 41 | int result = VsprintfLiteral(buffer, format, args); |
37 | 41 | va_end(args); |
38 | 41 | return result; |
39 | 41 | } Unexecuted instantiation: int SprintfLiteral<4096ul>(char (&) [4096ul], char const*, ...) int SprintfLiteral<320ul>(char (&) [320ul], char const*, ...) Line | Count | Source | 33 | 9 | { | 34 | 9 | va_list args; | 35 | 9 | va_start(args, format); | 36 | 9 | int result = VsprintfLiteral(buffer, format, args); | 37 | 9 | va_end(args); | 38 | 9 | return result; | 39 | 9 | } |
int SprintfLiteral<40ul>(char (&) [40ul], char const*, ...) Line | Count | Source | 33 | 3 | { | 34 | 3 | va_list args; | 35 | 3 | va_start(args, format); | 36 | 3 | int result = VsprintfLiteral(buffer, format, args); | 37 | 3 | va_end(args); | 38 | 3 | return result; | 39 | 3 | } |
Unexecuted instantiation: int SprintfLiteral<64ul>(char (&) [64ul], char const*, ...) int SprintfLiteral<16ul>(char (&) [16ul], char const*, ...) Line | Count | Source | 33 | 3 | { | 34 | 3 | va_list args; | 35 | 3 | va_start(args, format); | 36 | 3 | int result = VsprintfLiteral(buffer, format, args); | 37 | 3 | va_end(args); | 38 | 3 | return result; | 39 | 3 | } |
Unexecuted instantiation: int SprintfLiteral<72ul>(char (&) [72ul], char const*, ...) Unexecuted instantiation: int SprintfLiteral<2048ul>(char (&) [2048ul], char const*, ...) int SprintfLiteral<39ul>(char (&) [39ul], char const*, ...) Line | Count | Source | 33 | 12 | { | 34 | 12 | va_list args; | 35 | 12 | va_start(args, format); | 36 | 12 | int result = VsprintfLiteral(buffer, format, args); | 37 | 12 | va_end(args); | 38 | 12 | return result; | 39 | 12 | } |
Unexecuted instantiation: int SprintfLiteral<32ul>(char (&) [32ul], char const*, ...) Unexecuted instantiation: int SprintfLiteral<200ul>(char (&) [200ul], char const*, ...) Unexecuted instantiation: int SprintfLiteral<9ul>(char (&) [9ul], char const*, ...) Unexecuted instantiation: int SprintfLiteral<18ul>(char (&) [18ul], char const*, ...) Unexecuted instantiation: int SprintfLiteral<512ul>(char (&) [512ul], char const*, ...) Unexecuted instantiation: int SprintfLiteral<20ul>(char (&) [20ul], char const*, ...) Unexecuted instantiation: int SprintfLiteral<128ul>(char (&) [128ul], char const*, ...) Unexecuted instantiation: int SprintfLiteral<17ul>(char (&) [17ul], char const*, ...) Unexecuted instantiation: int SprintfLiteral<3ul>(char (&) [3ul], char const*, ...) Unexecuted instantiation: int SprintfLiteral<256ul>(char (&) [256ul], char const*, ...) Unexecuted instantiation: int SprintfLiteral<48ul>(char (&) [48ul], char const*, ...) Unexecuted instantiation: int SprintfLiteral<24ul>(char (&) [24ul], char const*, ...) Unexecuted instantiation: int SprintfLiteral<21ul>(char (&) [21ul], char const*, ...) Unexecuted instantiation: int SprintfLiteral<6ul>(char (&) [6ul], char const*, ...) Unexecuted instantiation: int SprintfLiteral<1024ul>(char (&) [1024ul], char const*, ...) Unexecuted instantiation: int SprintfLiteral<100ul>(char (&) [100ul], char const*, ...) Unexecuted instantiation: int SprintfLiteral<10ul>(char (&) [10ul], char const*, ...) Unexecuted instantiation: int SprintfLiteral<31ul>(char (&) [31ul], char const*, ...) Unexecuted instantiation: int SprintfLiteral<300ul>(char (&) [300ul], char const*, ...) int SprintfLiteral<30ul>(char (&) [30ul], char const*, ...) Line | Count | Source | 33 | 14 | { | 34 | 14 | va_list args; | 35 | 14 | va_start(args, format); | 36 | 14 | int result = VsprintfLiteral(buffer, format, args); | 37 | 14 | va_end(args); | 38 | 14 | return result; | 39 | 14 | } |
Unexecuted instantiation: int SprintfLiteral<500ul>(char (&) [500ul], char const*, ...) Unexecuted instantiation: int SprintfLiteral<96ul>(char (&) [96ul], char const*, ...) Unexecuted instantiation: int SprintfLiteral<150ul>(char (&) [150ul], char const*, ...) Unexecuted instantiation: int SprintfLiteral<5ul>(char (&) [5ul], char const*, ...) Unexecuted instantiation: int SprintfLiteral<60ul>(char (&) [60ul], char const*, ...) Unexecuted instantiation: int SprintfLiteral<50ul>(char (&) [50ul], char const*, ...) Unexecuted instantiation: int SprintfLiteral<15ul>(char (&) [15ul], char const*, ...) Unexecuted instantiation: int SprintfLiteral<11ul>(char (&) [11ul], char const*, ...) Unexecuted instantiation: int SprintfLiteral<12ul>(char (&) [12ul], char const*, ...) |
40 | | |
41 | | #endif |
42 | | #endif /* mozilla_Sprintf_h_ */ |