16
16
/* There may be prolems include all of theese. Try to test in
17
17
configure with ones are needed? */
23
#if defined(HAVE_STRINGS_H)
24
21
#include <strings.h>
26
#if defined(HAVE_STRING_H)
27
22
#include <string.h>
30
23
#include <stdlib.h>
31
24
#include <stddef.h>
33
26
#include <limits.h>
36
/* This is needed for the definitions of memcpy... on solaris */
37
#if defined(HAVE_MEMORY_H) && !defined(__cplusplus)
42
29
#include <drizzled/visibility.h>
44
31
namespace drizzled {
47
34
extern void bmove_upp(unsigned char *dst,const unsigned char *src,size_t len);
49
extern void bchange(unsigned char *dst,size_t old_len,const unsigned char *src,
50
size_t new_len,size_t tot_len);
51
extern char *strfield(char *src,int fields,int chars,int blanks,
53
extern char *strfill(char * s,size_t len,char fill);
54
extern char *strkey(char *dst,char *head,char *tail,char *flags);
55
extern char *strmake(char *dst,const char *src,size_t length);
57
extern char *strsuff(const char *src,const char *suffix);
58
extern char *strxcat(char *dst,const char *src, ...);
59
extern char *strxmov(char *dst,const char *src, ...);
60
extern char *strxcpy(char *dst,const char *src, ...);
61
extern char *strxncat(char *dst,size_t len, const char *src, ...);
62
extern char *strxncpy(char *dst,size_t len, const char *src, ...);
64
36
/* Conversion routines */
71
43
DRIZZLED_API double my_strtod(const char *str, char **end, int *error);
72
44
DRIZZLED_API double my_atof(const char *nptr);
73
45
DRIZZLED_API size_t my_fcvt(double x, int precision, char *to, bool *error);
74
DRIZZLED_API size_t my_gcvt(double x, my_gcvt_arg_type type, int width, char *to,
46
DRIZZLED_API size_t my_gcvt(double x, my_gcvt_arg_type type, int width, char *to, bool *error);
77
48
#define NOT_FIXED_DEC (uint8_t)31