Beispiel #1
0
/*
 *
 * Get editing string and call ged_red
 */
int
f_red(ClientData UNUSED(clientData), Tcl_Interp *interpreter, int argc, const char *argv[])
{
    const char **av;
    struct bu_vls editstring = BU_VLS_INIT_ZERO;

    CHECK_DBI_NULL;

    if (argc != 2) {
	Tcl_Eval(interpreter, "help red");
	return TCL_ERROR;
    }

    get_editor_string(&editstring);

    av = (const char **)bu_calloc(4, sizeof(char *), "f_red: av");

    av[0] = argv[0];
    av[1] = "-E";
    av[2] = bu_vls_addr(&editstring);
    av[3] = argv[1];

    if ( ged_red(gedp, 4, (const char **)av) == GED_ERROR ) {
	Tcl_AppendResult(interpreter, "Error: ", bu_vls_addr(gedp->ged_result_str), (char *)NULL);
    } else {
	Tcl_AppendResult(interpreter, bu_vls_addr(gedp->ged_result_str), (char *)NULL);
    }

    bu_vls_free(&editstring);
    bu_free((void *)av, "f_red: av");
    return TCL_OK;
}
Beispiel #2
0
/*
 *
 * control routine for editing mater information
 */
int
f_edmater(ClientData UNUSED(clientData), Tcl_Interp *interpreter, int argc, const char *argv[])
{
    const char **av;
    struct bu_vls editstring = BU_VLS_INIT_ZERO;
    int i;

    CHECK_DBI_NULL;

    if (argc < 2) {
	Tcl_Eval(interpreter, "help edmater");
	return TCL_ERROR;
    }

    get_editor_string(&editstring);

    av = (const char **)bu_malloc(sizeof(char *)*(argc + 3), "f_edmater: av");
    av[0] = (const char *)argv[0];
    av[1] = "-E";
    av[2] = bu_vls_addr(&editstring);
    argc += 2;
    for (i = 3; i < argc; ++i) {
	av[i] = (const char *)argv[i-2];
    }
    av[argc] = NULL;

    ged_edmater(gedp, argc + 1, (const char **)av);

    bu_vls_free(&editstring);
    bu_free((void *)av, "f_edmater: av");
    return TCL_OK;
}
Beispiel #3
0
Datei: BBS.C Projekt: jeske/GTalk
void edit_bbs_message(char *directory, struct bbs_board_info *bbs_info,
    int *num_files, struct board_info *new_board)
 {
   int which_fl;
   char s[40];
   char *data;

   if (!num_files) {print_str_cr("No messages to edit"); return;}
   sprintf(s,"Which mail message to edit: (1-%d): ",*num_files);
   print_cr();
   print_string(s);
   get_editor_string(s,5);
   which_fl=str_to_num(s,&data);
   edit_a_bbs_message(directory,bbs_info,num_files,which_fl,new_board);
 };
Beispiel #4
0
Datei: BBS.C Projekt: jeske/GTalk
void read_bbs_message(char *directory, struct bbs_board_info *bbs_info,
     int *num_files, struct board_info *new_board, int board_num,
     struct bbs_user_account *bbs_user)
 {
   int which_fl;
   char s[40];
   char *data;
   if (!(*num_files)) {print_str_cr("No messages to read"); return; }

   sprintf(s,"Which mail message to read: (1-%d): ",*num_files);
   print_cr();
   print_string(s);
   get_editor_string(s,5);
   which_fl=str_to_num(s,&data);
   if ((which_fl<1) || (which_fl>(*num_files))) return;
   /* which_fl--; */

   read_a_bbs_message(directory,bbs_info,num_files,which_fl,
             new_board,board_num,bbs_user);
 };
Beispiel #5
0
/*
 *
 * No-frills edit - opens an editor on the supplied
 * file name.
 *
 */
int
editit(const char *command, const char *tempfile) {
    int argc = 5;
    const char *av[6] = {NULL, NULL, NULL, NULL, NULL, NULL};
    struct bu_vls editstring = BU_VLS_INIT_ZERO;

    CHECK_DBI_NULL;

    get_editor_string(&editstring);

    av[0] = command;
    av[1] = "-e";
    av[2] = bu_vls_addr(&editstring);
    av[3] = "-f";
    av[4] = tempfile;
    av[5] = NULL;

    ged_editit(gedp, argc, (const char **)av);

    bu_vls_free(&editstring);
    return TCL_OK;
}