blob: 0b555be0a5c02d24f6379a4bdc9ae573556c7e20 (
plain) (
blame)
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
|
#include <string.h>
#include "buf.h"
#include "core.h"
#include "libcmd/cmd.h"
#include "libcmd/cmd_parse.h"
extern file_t *g_file;
extern Buf *g_buf;
extern int g_flags;
//white spaces should be supported
int c_writes( cmd_arg_t *arg )
{
int argc = arg->argc;
char **argv = arg->argv;
int fret = 0;
if ( argc != 1)
{
printf("Need one argument mister\n");
return -1;
}
if (((g_buf == NULL) || (g_file == NULL)))
{
printf("Buffer or file not initialised");
return -1;
}
if ( strlen(argv[0]) <= g_buf->size() )
{
//memcpy( g_buf->buf, argv[0], strlen(argv[0]) );
//check if can save all string in dat buffer
g_buf->set(argv[0],strlen(argv[0]));
char *buf_ptr;
int sz;
g_buf->get_ptr(&buf_ptr,&sz);
fret = file_write_blk( g_file, (uint8_t *)buf_ptr, sz );
if ( fret < 0 )
{
printf("Couldnt write block to file\n");
return -1;
}
} else
{
printf("Input bigger then buffer buf %d input %zu\n", g_buf->size(), strlen(argv[0]));
return -1;
}
return 0;
}
int h_writes( cmd_arg_t *arg )
{
printf("[STRING] - data written to buffer and file as string");
return 0;
}
|