rcutils  master
C API providing common utilities and data structures.
snprintf.h
Go to the documentation of this file.
1 // Copyright 2017 Open Source Robotics Foundation, Inc.
2 //
3 // Licensed under the Apache License, Version 2.0 (the "License");
4 // you may not use this file except in compliance with the License.
5 // You may obtain a copy of the License at
6 //
7 // http://www.apache.org/licenses/LICENSE-2.0
8 //
9 // Unless required by applicable law or agreed to in writing, software
10 // distributed under the License is distributed on an "AS IS" BASIS,
11 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 // See the License for the specific language governing permissions and
13 // limitations under the License.
14 
15 #ifndef RCUTILS__SNPRINTF_H_
16 #define RCUTILS__SNPRINTF_H_
17 
18 #if __cplusplus
19 extern "C"
20 {
21 #endif
22 
23 #include <stdio.h>
24 
26 
33 #ifndef _WIN32
34 #define rcutils_snprintf snprintf
35 #else
36 #define rcutils_snprintf(buffer, buffer_size, format, ...) \
37  _snprintf_s(buffer, buffer_size, _TRUNCATE, format, __VA_ARGS__)
38 #endif
39 
41 #ifndef _WIN32
42  #define rcutils_vsnprintf vsnprintf
43 #else
44  #define rcutils_vsnprintf(buffer, buffer_size, format, ...) \
45  _vsnprintf_s(buffer, buffer_size, _TRUNCATE, format, __VA_ARGS__)
46 #endif
47 
48 #if __cplusplus
49 }
50 #endif
51 
52 #endif // RCUTILS__SNPRINTF_H_