diff options
author | FreeArtMan <dos21h@gmail.com> | 2016-05-15 22:30:26 +0100 |
---|---|---|
committer | FreeArtMan <dos21h@gmail.com> | 2016-05-15 22:30:26 +0100 |
commit | 852c7ad1af2e3283425dccd79b0923b7df12a388 (patch) | |
tree | f97e6498f87380091bf6848d06482bf12c258b63 /cmd/cmd_writes.c | |
parent | 44dedb90f005bb0de9bddbd592a5c78f28bc67d1 (diff) | |
download | ihe-852c7ad1af2e3283425dccd79b0923b7df12a388.tar.gz ihe-852c7ad1af2e3283425dccd79b0923b7df12a388.zip |
Moved to new cmd.
Diffstat (limited to 'cmd/cmd_writes.c')
-rw-r--r-- | cmd/cmd_writes.c | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/cmd/cmd_writes.c b/cmd/cmd_writes.c new file mode 100644 index 0000000..1ddc95a --- /dev/null +++ b/cmd/cmd_writes.c @@ -0,0 +1,46 @@ +#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; +} |