* widget.[ch] (listbox_search_text): Constify "text" argument.
(listbox_add_item): Ditto. * find.c (add_to_list): Make inline. (stop_idle): Ditto. (status_update): Ditto. (get_list_info): Ditto. (push_directory): Constify "dir" argument and use concat_dir_and_file() instead of g_strdup(). (find_add_match): Constify "dir" and "file" arguments. (insert_file): Ditto. Don't append trailing PATH_SEP, it's done in push_directory(). (search_content): Constify "directory" and "filename" arguments. (do_search): Make "directory" char * instead of char[].
Этот коммит содержится в:
родитель
f613c51eb5
Коммит
fce80af570
@ -1,3 +1,23 @@
|
|||||||
|
2003-10-30 Andrew V. Samoilov <sav@bcs.zp.ua>
|
||||||
|
|
||||||
|
* widget.[ch] (listbox_search_text): Constify "text" argument.
|
||||||
|
(listbox_add_item): Ditto.
|
||||||
|
|
||||||
|
* find.c (add_to_list): Make inline.
|
||||||
|
(stop_idle): Ditto.
|
||||||
|
(status_update): Ditto.
|
||||||
|
(get_list_info): Ditto.
|
||||||
|
|
||||||
|
(push_directory): Constify "dir" argument and use
|
||||||
|
concat_dir_and_file() instead of g_strdup().
|
||||||
|
|
||||||
|
(find_add_match): Constify "dir" and "file" arguments.
|
||||||
|
(insert_file): Ditto. Don't append trailing PATH_SEP, it's done
|
||||||
|
in push_directory().
|
||||||
|
|
||||||
|
(search_content): Constify "directory" and "filename" arguments.
|
||||||
|
(do_search): Make "directory" char * instead of char[].
|
||||||
|
|
||||||
2003-10-29 Pavel Roskin <proski@gnu.org>
|
2003-10-29 Pavel Roskin <proski@gnu.org>
|
||||||
|
|
||||||
* fsusage.c: Merge ...
|
* fsusage.c: Merge ...
|
||||||
|
82
src/find.c
82
src/find.c
@ -106,10 +106,18 @@ static struct {
|
|||||||
{ N_("&Edit - F4"), 13, 38 }
|
{ N_("&Edit - F4"), 13, 38 }
|
||||||
};
|
};
|
||||||
|
|
||||||
static char *add_to_list (char *text, void *closure);
|
static inline char * add_to_list (const char *text, void *data) {
|
||||||
static void stop_idle (void *data);
|
return listbox_add_item (find_list, 0, 0, text, data);
|
||||||
static void status_update (char *text);
|
}
|
||||||
static void get_list_info (char **file, char **dir);
|
static inline void stop_idle (void *data) {
|
||||||
|
set_idle_proc (data, 0);
|
||||||
|
}
|
||||||
|
static inline void status_update (char *text) {
|
||||||
|
label_set_text (status_label, text);
|
||||||
|
}
|
||||||
|
static void get_list_info (char **file, char **dir) {
|
||||||
|
listbox_get_current (find_list, file, dir);
|
||||||
|
}
|
||||||
|
|
||||||
/* FIXME: r should be local variable */
|
/* FIXME: r should be local variable */
|
||||||
static regex_t *r; /* Pointer to compiled content_pattern */
|
static regex_t *r; /* Pointer to compiled content_pattern */
|
||||||
@ -304,12 +312,12 @@ find_parameters (char **start_dir, char **pattern, char **content)
|
|||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
push_directory (char *dir)
|
push_directory (const char *dir)
|
||||||
{
|
{
|
||||||
dir_stack *new;
|
dir_stack *new;
|
||||||
|
|
||||||
new = g_new (dir_stack, 1);
|
new = g_new (dir_stack, 1);
|
||||||
new->name = g_strdup (dir);
|
new->name = concat_dir_and_file (dir, "");
|
||||||
new->prev = dir_stack_base;
|
new->prev = dir_stack_base;
|
||||||
dir_stack_base = new;
|
dir_stack_base = new;
|
||||||
}
|
}
|
||||||
@ -331,25 +339,17 @@ pop_directory (void)
|
|||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
insert_file (char *dir, char *file)
|
insert_file (const char *dir, const char *file)
|
||||||
{
|
{
|
||||||
char *tmp_name;
|
char *tmp_name;
|
||||||
static char *dirname;
|
static char *dirname;
|
||||||
int i;
|
|
||||||
|
|
||||||
if (dir [0] == PATH_SEP && dir [1] == PATH_SEP)
|
while (dir [0] == PATH_SEP && dir [1] == PATH_SEP)
|
||||||
dir++;
|
dir++;
|
||||||
i = strlen (dir);
|
|
||||||
if (i){
|
|
||||||
if (dir [i - 1] != PATH_SEP){
|
|
||||||
dir [i] = PATH_SEP;
|
|
||||||
dir [i + 1] = 0;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (old_dir){
|
if (old_dir){
|
||||||
if (strcmp (old_dir, dir)){
|
if (strcmp (old_dir, dir)){
|
||||||
g_free (old_dir);
|
g_free (old_dir);
|
||||||
old_dir = g_strdup (dir);
|
old_dir = g_strdup (dir);
|
||||||
dirname = add_to_list (dir, NULL);
|
dirname = add_to_list (dir, NULL);
|
||||||
}
|
}
|
||||||
@ -364,7 +364,7 @@ insert_file (char *dir, char *file)
|
|||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
find_add_match (Dlg_head *h, char *dir, char *file)
|
find_add_match (Dlg_head *h, const char *dir, const char *file)
|
||||||
{
|
{
|
||||||
int p = ++matches & 7;
|
int p = ++matches & 7;
|
||||||
|
|
||||||
@ -441,7 +441,7 @@ get_line_at (int file_fd, char *buf, int *pos, int *n_read, int buf_size,
|
|||||||
* DIRECTORY/FILE. It will add the found entries to the find listbox.
|
* DIRECTORY/FILE. It will add the found entries to the find listbox.
|
||||||
*/
|
*/
|
||||||
static void
|
static void
|
||||||
search_content (Dlg_head *h, char *directory, char *filename)
|
search_content (Dlg_head *h, const char *directory, const char *filename)
|
||||||
{
|
{
|
||||||
struct stat s;
|
struct stat s;
|
||||||
char buffer [BUF_SMALL];
|
char buffer [BUF_SMALL];
|
||||||
@ -502,7 +502,7 @@ do_search (struct Dlg_head *h)
|
|||||||
{
|
{
|
||||||
static struct dirent *dp = 0;
|
static struct dirent *dp = 0;
|
||||||
static DIR *dirp = 0;
|
static DIR *dirp = 0;
|
||||||
static char directory [MC_MAXPATHLEN+2];
|
static char *directory;
|
||||||
struct stat tmp_stat;
|
struct stat tmp_stat;
|
||||||
static int pos;
|
static int pos;
|
||||||
static int subdirs_left = 0;
|
static int subdirs_left = 0;
|
||||||
@ -512,6 +512,10 @@ do_search (struct Dlg_head *h)
|
|||||||
mc_closedir (dirp);
|
mc_closedir (dirp);
|
||||||
dirp = 0;
|
dirp = 0;
|
||||||
}
|
}
|
||||||
|
if (directory) {
|
||||||
|
g_free (directory);
|
||||||
|
directory = NULL;
|
||||||
|
}
|
||||||
dp = 0;
|
dp = 0;
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
@ -549,9 +553,11 @@ do_search (struct Dlg_head *h)
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
strncpy (directory, tmp, sizeof (directory));
|
if (directory) {
|
||||||
directory [sizeof (directory) - 1] = 0;
|
g_free (directory);
|
||||||
g_free (tmp);
|
directory = NULL;
|
||||||
|
}
|
||||||
|
directory = tmp;
|
||||||
|
|
||||||
if (verbose){
|
if (verbose){
|
||||||
char buffer [BUF_SMALL];
|
char buffer [BUF_SMALL];
|
||||||
@ -574,15 +580,15 @@ do_search (struct Dlg_head *h)
|
|||||||
dirp = mc_opendir (directory);
|
dirp = mc_opendir (directory);
|
||||||
} /* while (!dirp) */
|
} /* while (!dirp) */
|
||||||
dp = mc_readdir (dirp);
|
dp = mc_readdir (dirp);
|
||||||
}
|
} /* while (!dp) */
|
||||||
|
|
||||||
if (strcmp (dp->d_name, ".") == 0 ||
|
if (strcmp (dp->d_name, ".") == 0 ||
|
||||||
strcmp (dp->d_name, "..") == 0){
|
strcmp (dp->d_name, "..") == 0){
|
||||||
dp = mc_readdir (dirp);
|
dp = mc_readdir (dirp);
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (subdirs_left) {
|
if (subdirs_left && directory) { /* Can directory be NULL ? */
|
||||||
char *tmp_name = concat_dir_and_file (directory, dp->d_name);
|
char *tmp_name = concat_dir_and_file (directory, dp->d_name);
|
||||||
if (!mc_lstat (tmp_name, &tmp_stat)
|
if (!mc_lstat (tmp_name, &tmp_stat)
|
||||||
&& S_ISDIR (tmp_stat.st_mode)) {
|
&& S_ISDIR (tmp_stat.st_mode)) {
|
||||||
@ -663,24 +669,6 @@ find_do_view_edit (int unparsed_view, int edit, char *dir, char *file)
|
|||||||
g_free (fullname);
|
g_free (fullname);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
|
||||||
get_list_info (char **file, char **dir)
|
|
||||||
{
|
|
||||||
listbox_get_current (find_list, file, dir);
|
|
||||||
}
|
|
||||||
|
|
||||||
static char *
|
|
||||||
add_to_list (char *text, void *data)
|
|
||||||
{
|
|
||||||
return listbox_add_item (find_list, 0, 0, text, data);
|
|
||||||
}
|
|
||||||
|
|
||||||
static void
|
|
||||||
stop_idle (void *data)
|
|
||||||
{
|
|
||||||
set_idle_proc (data, 0);
|
|
||||||
}
|
|
||||||
|
|
||||||
static int
|
static int
|
||||||
view_edit_currently_selected_file (int unparsed_view, int edit)
|
view_edit_currently_selected_file (int unparsed_view, int edit)
|
||||||
{
|
{
|
||||||
@ -843,12 +831,6 @@ run_process (void)
|
|||||||
return find_dlg->ret_value;
|
return find_dlg->ret_value;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
|
||||||
status_update (char *text)
|
|
||||||
{
|
|
||||||
label_set_text (status_label, text);
|
|
||||||
}
|
|
||||||
|
|
||||||
static void
|
static void
|
||||||
kill_gui (void)
|
kill_gui (void)
|
||||||
{
|
{
|
||||||
|
@ -2163,8 +2163,8 @@ listbox_append_item (WListbox *l, WLEntry *e, enum append_pos pos)
|
|||||||
}
|
}
|
||||||
|
|
||||||
char *
|
char *
|
||||||
listbox_add_item (WListbox *l, enum append_pos pos, int hotkey, char *text,
|
listbox_add_item (WListbox *l, enum append_pos pos, int hotkey,
|
||||||
void *data)
|
const char *text, void *data)
|
||||||
{
|
{
|
||||||
WLEntry *entry;
|
WLEntry *entry;
|
||||||
|
|
||||||
@ -2193,7 +2193,7 @@ listbox_select_by_number (WListbox *l, int n)
|
|||||||
}
|
}
|
||||||
|
|
||||||
WLEntry *
|
WLEntry *
|
||||||
listbox_search_text (WListbox *l, char *text)
|
listbox_search_text (WListbox *l, const char *text)
|
||||||
{
|
{
|
||||||
WLEntry *e;
|
WLEntry *e;
|
||||||
|
|
||||||
|
@ -177,7 +177,7 @@ void button_set_text (WButton *b, char *text);
|
|||||||
WLEntry *listbox_get_data (WListbox *l, int pos);
|
WLEntry *listbox_get_data (WListbox *l, int pos);
|
||||||
|
|
||||||
/* search text int listbox entries */
|
/* search text int listbox entries */
|
||||||
WLEntry *listbox_search_text (WListbox *l, char *text);
|
WLEntry *listbox_search_text (WListbox *l, const char *text);
|
||||||
void listbox_select_entry (WListbox *l, WLEntry *dest);
|
void listbox_select_entry (WListbox *l, WLEntry *dest);
|
||||||
void listbox_select_by_number (WListbox *l, int n);
|
void listbox_select_by_number (WListbox *l, int n);
|
||||||
void listbox_select_last (WListbox *l, int set_top);
|
void listbox_select_last (WListbox *l, int set_top);
|
||||||
@ -192,7 +192,7 @@ enum append_pos {
|
|||||||
};
|
};
|
||||||
|
|
||||||
char *listbox_add_item (WListbox *l, enum append_pos pos, int
|
char *listbox_add_item (WListbox *l, enum append_pos pos, int
|
||||||
hotkey, char *text, void *data);
|
hotkey, const char *text, void *data);
|
||||||
|
|
||||||
/* Hintbar routines */
|
/* Hintbar routines */
|
||||||
|
|
||||||
|
Загрузка…
x
Ссылка в новой задаче
Block a user