#include "buf.h" #include "core.h" #include "util.h" #include "libcmd/cmd.h" #include "libcmd/cmd_parse.h" extern file_t *g_file; extern Buf *g_buf; extern int g_flags; /* OPEN */ int c_open( cmd_arg_t *arg ) { int argc = arg->argc; char **argv = arg->argv; int *type = arg->type; char *fname = NULL; int fret = 0; if ( argc != 1 ) { printf("Neeed one argument %d\n",argc); return -1; } //fname = argv[0]; if (type[0] == CMDT_QSTR) { fname = alloc_new_str(argv[0]+1); fname[strlen(argv[0])-2] = 0x0; } else { fname = alloc_new_str(argv[0]); } printf("fname %s\n",fname); fret = file_open_fn( g_file, fname, g_flags ); //!if failure fields could be non empty inside struct free(fname);fname=NULL; if ( fret < 0 ) { printf("Cannot open file %s\n",fname); return -1; } return 0; } int h_open( cmd_arg_t *arg ) { printf("[FILENAME] - open file"); return 0; }