#include #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; }