FireBirdLib - Topfield TMS PVR TAP Programming Library
strncpyUC.c
Go to the documentation of this file.
1#include <string.h>
2#include "libFireBird.h"
3
4byte *strncpyUC(byte *dest, const byte *src, size_t n)
5{
7
8 byte *p;
9 size_t CharTableBytes;
10
11 if(!src || !dest)
12 {
13 TRACEEXIT();
14 return NULL;
15 }
16
17 p = SkipCharTableBytes(src);
18 CharTableBytes = p - src;
19
20 if(CharTableBytes == 0)
21 strncpy(dest, src, n);
22 else
23 {
24 memcpy(dest, (void *) src, CharTableBytes < n ? CharTableBytes : n);
25 strncpy(&dest[CharTableBytes], p, n - CharTableBytes);
26 }
27
28 TRACEEXIT();
29 return dest;
30}
#define TRACEEXIT()
Definition: libFireBird.h:1244
#define TRACEENTER()
Definition: libFireBird.h:1243
byte * SkipCharTableBytes(const byte *p)
byte * strncpyUC(byte *dest, const byte *src, size_t n)
Definition: strncpyUC.c:4