Stimfit @PACKAGE_VERSION@
Loading...
Searching...
No Matches
wincpp.hpp
Go to the documentation of this file.
1#ifndef STF_AXON_COMMON_WINCPP_HPP
2#define STF_AXON_COMMON_WINCPP_HPP
3
4//**********************************************************************************************
5//
6// Copyright (c) 1993 Axon Instruments.
7// All rights reserved.
8//
9//**********************************************************************************************
10// HEADER: WINCPP.HPP
11// PURPOSE: Contains common includes. Used for generation of precompiled headers.
12// AUTHOR: BHI Nov 1993
13//
14
15#include "../Common/axodefn.h"
16#include "../Common/axodebug.h"
17/*
18#include "../Common/colors.h"
19*/
20#include "../Common/adcdac.h"
21
22#include <stdio.h>
23#include <stdlib.h>
24#include <ctype.h>
25#include <limits.h>
26#include <memory.h>
27#include <string.h>
28#include <math.h>
29
30#if !defined(_MSC_VER)
31#ifndef _TRUNCATE
32#define _TRUNCATE ((size_t)-1)
33#endif
34
35static inline int strcpy_s(char *dest, size_t destsz, const char *src)
36{
37 if (!dest || destsz == 0)
38 return 1;
39
40 if (!src)
41 {
42 dest[0] = '\0';
43 return 1;
44 }
45
46 strncpy(dest, src, destsz - 1);
47 dest[destsz - 1] = '\0';
48 return 0;
49}
50
51static inline int strncpy_s(char *dest, size_t destsz, const char *src, size_t count)
52{
53 if (!dest || destsz == 0)
54 return 1;
55
56 if (!src)
57 {
58 dest[0] = '\0';
59 return 1;
60 }
61
62 size_t copy_len = count;
63 if (count == _TRUNCATE || copy_len >= destsz)
64 copy_len = destsz - 1;
65
66 strncpy(dest, src, copy_len);
67 dest[copy_len] = '\0';
68 return 0;
69}
70
71static inline int strcat_s(char *dest, size_t destsz, const char *src)
72{
73 if (!dest || destsz == 0)
74 return 1;
75
76 size_t dest_len = strlen(dest);
77 if (dest_len >= destsz)
78 {
79 dest[destsz - 1] = '\0';
80 return 1;
81 }
82
83 return strncpy_s(dest + dest_len, destsz - dest_len, src, _TRUNCATE);
84}
85#endif
86
87#endif
88
WORD TpSTime long count
Definition Son.h:305
#define _TRUNCATE
Definition wincpp.hpp:32
static int strncpy_s(char *dest, size_t destsz, const char *src, size_t count)
Definition wincpp.hpp:51
static int strcat_s(char *dest, size_t destsz, const char *src)
Definition wincpp.hpp:71
static int strcpy_s(char *dest, size_t destsz, const char *src)
Definition wincpp.hpp:35