/* * Name: dir_help * Purpose: To prompt the user and list the directory contents * Date: February 13, 1992 * Passed: window: pointer to current window */ int dir_help( WINDOW *window ) { char dname[MAX_COLS+2]; /* directory search pattern */ char stem[MAX_COLS+2]; /* directory stem */ char drive[_MAX_DRIVE]; /* splitpath drive buff */ char dir[_MAX_DIR]; /* splitpath dir buff */ char fname[_MAX_FNAME]; /* splitpath fname buff */ char ext[_MAX_EXT]; /* splitpath ext buff */ int rc; int file_mode; int bin_length; int prompt_line; if (window != NULL) { entab_linebuff( ); if (un_copy_line( window->ll, window, TRUE ) == ERROR) return( ERROR ); prompt_line = window->bottom_line; } else prompt_line = g_display.nlines; /* * search path or pattern */ dname[0] = '\0'; rc = get_name( dir1, prompt_line, dname, g_display.message_color ); if (rc == OK) { if (validate_path( dname, stem ) == OK) { rc = list_and_pick( dname, stem, window ); /* * if everything is everything, load in the file selected by user. */ if (rc == OK) { file_mode = TEXT; bin_length = 0; _splitpath( dname, drive, dir, fname, ext ); if (stricmp( ext, ".exe" ) == 0 || stricmp( ext, ".com" ) == 0) { file_mode = BINARY; bin_length = g_status.file_chunk; } if (window != NULL) attempt_edit_display( dname, LOCAL, file_mode, bin_length ); else attempt_edit_display( dname, GLOBAL, file_mode, bin_length ); } } else /* * invalid path or file name */ error( WARNING, window != NULL ? window->bottom_line : g_display.nlines, dir2 ); } return( rc ); }
/* * Name: load_strokes * Purpose: load strokes from a file * Date: April 1, 1992 * Passed: window: pointer to current window * Notes: show the user a file pick list. I can never remember macro * file names or the directory in which they hide. might as well * give the user a file pick list. */ int load_strokes( WINDOW *window ) { register FILE *fp; /* file to be read */ char dname[MAX_COLS]; /* directory search pattern */ char stem[MAX_COLS]; /* directory stem */ register int rc; dname[0] = '\0'; /* * search path for macro file */ if (get_name( main21, window->bottom_line, dname, g_display.message_color ) == OK && *dname != '\0') { if (validate_path( dname, stem ) == OK) { rc = list_and_pick( dname, stem, window ); /* * if everything is everything, load in the file selected by user. */ if (rc == OK) { if ((fp = fopen( dname, "rb" )) != NULL && ceh.flag != ERROR) { fwrite( ¯o.first_stroke[0], sizeof(int), MAX_KEYS, fp ); fwrite( ¯o.strokes[0], sizeof(STROKES), STROKE_LIMIT, fp ); fclose( fp ); } if (ceh.flag == OK) connect_macros( ); } } else /* * invalid path or file name */ error( WARNING, window->bottom_line, main22 ); } return( OK ); }