2 * (c) Oleg Puchinin 2006
3 * graycardinalster@gmail.com
15 DPBuf::DPBuf (char *ptr
, int len
)
24 unsigned char DPBuf::r8 (char *ptr
)
28 S
= (unsigned char *) carret
;
30 S
= (unsigned char *) ptr
;
32 if (check ((char *) S
, 1))
38 uint16_t DPBuf::r16 (char *ptr
)
42 S
= (uint16_t *) carret
;
46 if (check ((char *) S
, 2))
51 uint32_t DPBuf::r32 (char *ptr
)
55 S
= (uint32_t *) carret
;
59 if (check ((char *) S
, 4))
64 char * DPBuf::rd (char *ptr
, int len
)
72 if (check ((char *)S
, len
))
78 char * DPBuf::set_pos (char * ptr
)
87 void DPBuf::init (char *ptr
, int len
)
100 void DPBuf::s16 (void)
106 void DPBuf::s32 (void)
112 void DPBuf::sd (int len
)
118 bool DPBuf::check (char *ptr
, int count
)
120 if (((ptr
+ count
) > end
) || ptr
< begin
) {
127 char * DPBuf::strcat (char *ptr
, char *S
)
138 if (! check (ptr
, 1))
142 if (! check (ptr
, len
+1)) {
147 memcpy (ptr
, S
, len
);
152 char * DPBuf::memmem (char * buf
, char * needle
, size_t needlelen
)
157 ptr
= buf
? buf
: carret
;
158 if (! check (ptr
, 1))
162 ptr
= (char *) Dmemmem (ptr
, count
, needle
, needlelen
);
169 char * DPBuf::ch (char *buf
, char ch
)
174 if (! check (buf
, 1))
177 while (buf
!= end
&& *buf
!= ch
)