blob: 6b0d472be5b8feb3bddbcf52ea6ef564c0eeff25 (
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
|
#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_t *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)) || (g_buf->buf == 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]) );
fret = file_write_blk( g_file, g_buf->buf );
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;
}
|