summaryrefslogtreecommitdiff
path: root/include/systools/win32/snprintf.h
blob: 92e571f91ee89a843f064f3d9ecc4653180eda6b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
/*
 * This file is part of the LibreOffice project.
 *
 * This Source Code Form is subject to the terms of the Mozilla Public
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
 *
 * This file incorporates work covered by the following license notice:
 *
 *   Licensed to the Apache Software Foundation (ASF) under one or more
 *   contributor license agreements. See the NOTICE file distributed
 *   with this work for additional information regarding copyright
 *   ownership. The ASF licenses this file to you under the Apache
 *   License, Version 2.0 (the "License"); you may not use this file
 *   except in compliance with the License. You may obtain a copy of
 *   the License at http://www.apache.org/licenses/LICENSE-2.0 .
 */

#ifndef INCLUDED_SYSTOOLS_WIN32_SNPRINTF_H
#define INCLUDED_SYSTOOLS_WIN32_SNPRINTF_H

#if     !defined(_WIN32)
#error ERROR: Only Win32 target supported!
#endif

/* Macros for Unicode/ANSI support like in TCHAR.H */

#ifdef _UNICODE
#define sntprintf   snwprintf
#define vsntprintf  vsnwprintf
#else
#define sntprintf   snprintf
#define vsntprintf  vsnprintf
#endif

/* Define needed types if they are not yet defined */


#   ifndef _VA_LIST_DEFINED
    typedef char *  va_list;
#   define _VA_LIST_DEFINED
#   endif


#   ifndef _WCHAR_T_DEFINED
    typedef unsigned short wchar_t;
#   define _WCHAR_T_DEFINED
#   endif


#ifndef _SNPRINTF_DLLIMPORT
#define _SNPRINTF_DLLIMPORT __declspec( dllimport )
#endif

#ifdef __cplusplus
extern "C" {
#endif


/*  Implementations of snprintf following the ISO/IEC 9899:1999 (ISO C99)
    standard.
    The difference compared to _snprintf is that the buffer always is zero
    terminated (unless count is zero) and the return value is the number of
    characters (not including terminating zero) that would have been written
    even if the buffer wasn't large
    enough to hold the string. */


#if !defined(__MINGW32__) || defined (__NO_ISOCEXT)

/* UNICODE version */
_SNPRINTF_DLLIMPORT int __cdecl snwprintf( wchar_t *buffer, size_t count, const wchar_t *format, ... );

/* SBCS and MBCS version */
_SNPRINTF_DLLIMPORT int __cdecl snprintf( char *buffer, size_t count, const char *format, ... );

#endif

/* Conflict with STL_port inline implementation */

#ifdef __cplusplus
}
#endif

#endif // INCLUDED_SYSTOOLS_WIN32_SNPRINTF_H

/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
aa7 2014-05-06forms: sal_Bool->boolNoel Grandin Change-Id: Ifa15f4ed3107b1075b504f09d2cae69ee38d347a 2014-02-26Remove visual noise from formsAlexander Wilms Conflicts: forms/source/component/DatabaseForm.cxx Change-Id: I4005fe65e89794bd92191c37221c252a3e964917 Reviewed-on: https://gerrit.libreoffice.org/8262 Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com> 2014-02-26cppuhelper: retrofit std::exception into overriding exception specsStephan Bergmann Change-Id: I56e32131b7991ee9948ce46765632eb823d463b3 2014-02-23Remove unneccessary commentsAlexander Wilms Change-Id: I939160ae72fecbe3d4a60ce755730bd4c38497fb Reviewed-on: https://gerrit.libreoffice.org/8182 Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com> 2014-02-21coverity#738656 Uninitialized scalar fieldCaolán McNamara Change-Id: I49e3f47e318ae342738dd1de90673e2aee2bb62b 2014-01-21FORMS : Remove usage of DBG_CTOR and DBG_DTOR.Arnaud Versini Valgrind is capable of detecting such bugs. No need for extra macros. Change-Id: Ida618d6ac383c65f1c09212a7b6aa5ee228677db Reviewed-on: https://gerrit.libreoffice.org/7534 Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com> 2013-08-04fdo#67235 adapt form control code to time nanosecond API change, step 3Lionel Elie Mamane Change-Id: I4899c89ee5b2a54c9c05b531ab284365f1558e3d Reviewed-on: https://gerrit.libreoffice.org/5270 Tested-by: Lionel Elie Mamane <lionel@mamane.lu> Reviewed-by: Lionel Elie Mamane <lionel@mamane.lu> 2013-06-03fdo#46808, Convert comphelper::ComponentContext in forms moduleNoel Grandin Change-Id: I8a9913d964633381f00c0a4885cc655805fa1974 2013-04-23forms: FORMS_CONSTASCII_STRING is no longer neededMiklos Vajna Change-Id: I2b666f0e48db4c97cc4c641480a82681f5057ac2 2013-04-18date/time IDL datatypes incompatible changeLionel Elie Mamane - nanosecond precision - signed (allowed negative) year Also: assorted improvements / bugfixes in date/time handling code. Some factorisation of copy/pasted code. Change-Id: I761a1b0b8731c82f19a0c37acbcf43d3c06d6cd6 2013-04-07mass removal of rtl:: prefixes for O(U)String*Luboš Luňák Modules sal, salhelper, cppu, cppuhelper, codemaker (selectively) and odk have kept them, in order not to break external API (the automatic using declaration is LO-internal). Change-Id: I588fc9e0c45b914f824f91c0376980621d730f09