author | yz157939@agc105 |
Fri, 25 Apr 2008 17:13:57 +0800 | |
changeset 149 | 0014c9b031e9 |
parent 147 | 8c4ef02c14b8 |
permissions | -rw-r--r-- |
147
8c4ef02c14b8
replace new version of fsexam, old version 0.3.1 is not used any more
yz157939@agc105
parents:
diff
changeset
|
1 |
/* |
8c4ef02c14b8
replace new version of fsexam, old version 0.3.1 is not used any more
yz157939@agc105
parents:
diff
changeset
|
2 |
* CDDL HEADER START |
8c4ef02c14b8
replace new version of fsexam, old version 0.3.1 is not used any more
yz157939@agc105
parents:
diff
changeset
|
3 |
* |
8c4ef02c14b8
replace new version of fsexam, old version 0.3.1 is not used any more
yz157939@agc105
parents:
diff
changeset
|
4 |
* The contents of this file are subject to the terms of the |
8c4ef02c14b8
replace new version of fsexam, old version 0.3.1 is not used any more
yz157939@agc105
parents:
diff
changeset
|
5 |
* Common Development and Distribution License (the "License"). |
8c4ef02c14b8
replace new version of fsexam, old version 0.3.1 is not used any more
yz157939@agc105
parents:
diff
changeset
|
6 |
* You may not use this file except in compliance with the License. |
8c4ef02c14b8
replace new version of fsexam, old version 0.3.1 is not used any more
yz157939@agc105
parents:
diff
changeset
|
7 |
* |
8c4ef02c14b8
replace new version of fsexam, old version 0.3.1 is not used any more
yz157939@agc105
parents:
diff
changeset
|
8 |
* You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE |
8c4ef02c14b8
replace new version of fsexam, old version 0.3.1 is not used any more
yz157939@agc105
parents:
diff
changeset
|
9 |
* or http://www.opensolaris.org/os/licensing. |
8c4ef02c14b8
replace new version of fsexam, old version 0.3.1 is not used any more
yz157939@agc105
parents:
diff
changeset
|
10 |
* See the License for the specific language governing permissions |
8c4ef02c14b8
replace new version of fsexam, old version 0.3.1 is not used any more
yz157939@agc105
parents:
diff
changeset
|
11 |
* and limitations under the License. |
8c4ef02c14b8
replace new version of fsexam, old version 0.3.1 is not used any more
yz157939@agc105
parents:
diff
changeset
|
12 |
* |
8c4ef02c14b8
replace new version of fsexam, old version 0.3.1 is not used any more
yz157939@agc105
parents:
diff
changeset
|
13 |
* When distributing Covered Code, include this CDDL HEADER in each |
8c4ef02c14b8
replace new version of fsexam, old version 0.3.1 is not used any more
yz157939@agc105
parents:
diff
changeset
|
14 |
* file and include the License file at usr/src/OPENSOLARIS.LICENSE. |
8c4ef02c14b8
replace new version of fsexam, old version 0.3.1 is not used any more
yz157939@agc105
parents:
diff
changeset
|
15 |
* If applicable, add the following below this CDDL HEADER, with the |
8c4ef02c14b8
replace new version of fsexam, old version 0.3.1 is not used any more
yz157939@agc105
parents:
diff
changeset
|
16 |
* fields enclosed by brackets "[]" replaced with your own identifying |
8c4ef02c14b8
replace new version of fsexam, old version 0.3.1 is not used any more
yz157939@agc105
parents:
diff
changeset
|
17 |
* information: Portions Copyright [yyyy] [name of copyright owner] |
8c4ef02c14b8
replace new version of fsexam, old version 0.3.1 is not used any more
yz157939@agc105
parents:
diff
changeset
|
18 |
* |
8c4ef02c14b8
replace new version of fsexam, old version 0.3.1 is not used any more
yz157939@agc105
parents:
diff
changeset
|
19 |
* CDDL HEADER END |
8c4ef02c14b8
replace new version of fsexam, old version 0.3.1 is not used any more
yz157939@agc105
parents:
diff
changeset
|
20 |
*/ |
8c4ef02c14b8
replace new version of fsexam, old version 0.3.1 is not used any more
yz157939@agc105
parents:
diff
changeset
|
21 |
|
8c4ef02c14b8
replace new version of fsexam, old version 0.3.1 is not used any more
yz157939@agc105
parents:
diff
changeset
|
22 |
/* |
8c4ef02c14b8
replace new version of fsexam, old version 0.3.1 is not used any more
yz157939@agc105
parents:
diff
changeset
|
23 |
* Copyright 2008 Sun Microsystems, Inc. All rights reserved. |
8c4ef02c14b8
replace new version of fsexam, old version 0.3.1 is not used any more
yz157939@agc105
parents:
diff
changeset
|
24 |
* Use is subject to license terms. |
8c4ef02c14b8
replace new version of fsexam, old version 0.3.1 is not used any more
yz157939@agc105
parents:
diff
changeset
|
25 |
*/ |
8c4ef02c14b8
replace new version of fsexam, old version 0.3.1 is not used any more
yz157939@agc105
parents:
diff
changeset
|
26 |
#ifdef HAVE_CONFIG_H |
8c4ef02c14b8
replace new version of fsexam, old version 0.3.1 is not used any more
yz157939@agc105
parents:
diff
changeset
|
27 |
#include <config.h> |
8c4ef02c14b8
replace new version of fsexam, old version 0.3.1 is not used any more
yz157939@agc105
parents:
diff
changeset
|
28 |
#endif |
8c4ef02c14b8
replace new version of fsexam, old version 0.3.1 is not used any more
yz157939@agc105
parents:
diff
changeset
|
29 |
|
8c4ef02c14b8
replace new version of fsexam, old version 0.3.1 is not used any more
yz157939@agc105
parents:
diff
changeset
|
30 |
#include <sys/types.h> |
8c4ef02c14b8
replace new version of fsexam, old version 0.3.1 is not used any more
yz157939@agc105
parents:
diff
changeset
|
31 |
#include <unistd.h> |
8c4ef02c14b8
replace new version of fsexam, old version 0.3.1 is not used any more
yz157939@agc105
parents:
diff
changeset
|
32 |
#include <stdio.h> |
8c4ef02c14b8
replace new version of fsexam, old version 0.3.1 is not used any more
yz157939@agc105
parents:
diff
changeset
|
33 |
#include <strings.h> |
8c4ef02c14b8
replace new version of fsexam, old version 0.3.1 is not used any more
yz157939@agc105
parents:
diff
changeset
|
34 |
#include <string.h> |
8c4ef02c14b8
replace new version of fsexam, old version 0.3.1 is not used any more
yz157939@agc105
parents:
diff
changeset
|
35 |
#include <errno.h> |
8c4ef02c14b8
replace new version of fsexam, old version 0.3.1 is not used any more
yz157939@agc105
parents:
diff
changeset
|
36 |
|
8c4ef02c14b8
replace new version of fsexam, old version 0.3.1 is not used any more
yz157939@agc105
parents:
diff
changeset
|
37 |
#include <glib.h> |
8c4ef02c14b8
replace new version of fsexam, old version 0.3.1 is not used any more
yz157939@agc105
parents:
diff
changeset
|
38 |
#include <glib/gi18n.h> |
8c4ef02c14b8
replace new version of fsexam, old version 0.3.1 is not used any more
yz157939@agc105
parents:
diff
changeset
|
39 |
|
8c4ef02c14b8
replace new version of fsexam, old version 0.3.1 is not used any more
yz157939@agc105
parents:
diff
changeset
|
40 |
#include "fsexam.h" |
8c4ef02c14b8
replace new version of fsexam, old version 0.3.1 is not used any more
yz157939@agc105
parents:
diff
changeset
|
41 |
#include "fsexam-error.h" |
8c4ef02c14b8
replace new version of fsexam, old version 0.3.1 is not used any more
yz157939@agc105
parents:
diff
changeset
|
42 |
#include "fsexam-helper.h" |
8c4ef02c14b8
replace new version of fsexam, old version 0.3.1 is not used any more
yz157939@agc105
parents:
diff
changeset
|
43 |
#include "file-filter.h" |
8c4ef02c14b8
replace new version of fsexam, old version 0.3.1 is not used any more
yz157939@agc105
parents:
diff
changeset
|
44 |
#include "fsexam-header.h" |
8c4ef02c14b8
replace new version of fsexam, old version 0.3.1 is not used any more
yz157939@agc105
parents:
diff
changeset
|
45 |
#include "fsexam-ui.h" |
8c4ef02c14b8
replace new version of fsexam, old version 0.3.1 is not used any more
yz157939@agc105
parents:
diff
changeset
|
46 |
|
8c4ef02c14b8
replace new version of fsexam, old version 0.3.1 is not used any more
yz157939@agc105
parents:
diff
changeset
|
47 |
#define CMD_NAME "/usr/bin/find" |
8c4ef02c14b8
replace new version of fsexam, old version 0.3.1 is not used any more
yz157939@agc105
parents:
diff
changeset
|
48 |
#define FSEXAM_REFRESH_TIMEOUT 50000 |
8c4ef02c14b8
replace new version of fsexam, old version 0.3.1 is not used any more
yz157939@agc105
parents:
diff
changeset
|
49 |
|
8c4ef02c14b8
replace new version of fsexam, old version 0.3.1 is not used any more
yz157939@agc105
parents:
diff
changeset
|
50 |
static gchar ** |
8c4ef02c14b8
replace new version of fsexam, old version 0.3.1 is not used any more
yz157939@agc105
parents:
diff
changeset
|
51 |
filter_compose_argv (const gchar *params) |
8c4ef02c14b8
replace new version of fsexam, old version 0.3.1 is not used any more
yz157939@agc105
parents:
diff
changeset
|
52 |
{ |
8c4ef02c14b8
replace new version of fsexam, old version 0.3.1 is not used any more
yz157939@agc105
parents:
diff
changeset
|
53 |
gchar *full_cmd = NULL; |
8c4ef02c14b8
replace new version of fsexam, old version 0.3.1 is not used any more
yz157939@agc105
parents:
diff
changeset
|
54 |
gchar **argv = NULL; |
8c4ef02c14b8
replace new version of fsexam, old version 0.3.1 is not used any more
yz157939@agc105
parents:
diff
changeset
|
55 |
|
8c4ef02c14b8
replace new version of fsexam, old version 0.3.1 is not used any more
yz157939@agc105
parents:
diff
changeset
|
56 |
if (params == NULL) { |
8c4ef02c14b8
replace new version of fsexam, old version 0.3.1 is not used any more
yz157939@agc105
parents:
diff
changeset
|
57 |
return NULL; |
8c4ef02c14b8
replace new version of fsexam, old version 0.3.1 is not used any more
yz157939@agc105
parents:
diff
changeset
|
58 |
} |
8c4ef02c14b8
replace new version of fsexam, old version 0.3.1 is not used any more
yz157939@agc105
parents:
diff
changeset
|
59 |
|
8c4ef02c14b8
replace new version of fsexam, old version 0.3.1 is not used any more
yz157939@agc105
parents:
diff
changeset
|
60 |
full_cmd = g_strdup_printf ("%s %s", CMD_NAME, params); |
8c4ef02c14b8
replace new version of fsexam, old version 0.3.1 is not used any more
yz157939@agc105
parents:
diff
changeset
|
61 |
argv = g_strsplit (full_cmd, " ", -1); |
8c4ef02c14b8
replace new version of fsexam, old version 0.3.1 is not used any more
yz157939@agc105
parents:
diff
changeset
|
62 |
g_free (full_cmd); |
8c4ef02c14b8
replace new version of fsexam, old version 0.3.1 is not used any more
yz157939@agc105
parents:
diff
changeset
|
63 |
|
8c4ef02c14b8
replace new version of fsexam, old version 0.3.1 is not used any more
yz157939@agc105
parents:
diff
changeset
|
64 |
return argv; |
8c4ef02c14b8
replace new version of fsexam, old version 0.3.1 is not used any more
yz157939@agc105
parents:
diff
changeset
|
65 |
} |
8c4ef02c14b8
replace new version of fsexam, old version 0.3.1 is not used any more
yz157939@agc105
parents:
diff
changeset
|
66 |
|
8c4ef02c14b8
replace new version of fsexam, old version 0.3.1 is not used any more
yz157939@agc105
parents:
diff
changeset
|
67 |
/* |
8c4ef02c14b8
replace new version of fsexam, old version 0.3.1 is not used any more
yz157939@agc105
parents:
diff
changeset
|
68 |
* Run find(1) with given params, and return the result |
8c4ef02c14b8
replace new version of fsexam, old version 0.3.1 is not used any more
yz157939@agc105
parents:
diff
changeset
|
69 |
*/ |
8c4ef02c14b8
replace new version of fsexam, old version 0.3.1 is not used any more
yz157939@agc105
parents:
diff
changeset
|
70 |
GList * |
8c4ef02c14b8
replace new version of fsexam, old version 0.3.1 is not used any more
yz157939@agc105
parents:
diff
changeset
|
71 |
filter_cmd_run (const gchar *params) |
8c4ef02c14b8
replace new version of fsexam, old version 0.3.1 is not used any more
yz157939@agc105
parents:
diff
changeset
|
72 |
{ |
8c4ef02c14b8
replace new version of fsexam, old version 0.3.1 is not used any more
yz157939@agc105
parents:
diff
changeset
|
73 |
FILE *fp = NULL; |
8c4ef02c14b8
replace new version of fsexam, old version 0.3.1 is not used any more
yz157939@agc105
parents:
diff
changeset
|
74 |
gchar **argv = NULL; |
8c4ef02c14b8
replace new version of fsexam, old version 0.3.1 is not used any more
yz157939@agc105
parents:
diff
changeset
|
75 |
gchar *buf = NULL; |
8c4ef02c14b8
replace new version of fsexam, old version 0.3.1 is not used any more
yz157939@agc105
parents:
diff
changeset
|
76 |
GList *list = NULL; |
8c4ef02c14b8
replace new version of fsexam, old version 0.3.1 is not used any more
yz157939@agc105
parents:
diff
changeset
|
77 |
GError *error = NULL; |
8c4ef02c14b8
replace new version of fsexam, old version 0.3.1 is not used any more
yz157939@agc105
parents:
diff
changeset
|
78 |
gint child_stdout; |
8c4ef02c14b8
replace new version of fsexam, old version 0.3.1 is not used any more
yz157939@agc105
parents:
diff
changeset
|
79 |
|
8c4ef02c14b8
replace new version of fsexam, old version 0.3.1 is not used any more
yz157939@agc105
parents:
diff
changeset
|
80 |
argv = filter_compose_argv (params); |
8c4ef02c14b8
replace new version of fsexam, old version 0.3.1 is not used any more
yz157939@agc105
parents:
diff
changeset
|
81 |
if (argv == NULL) { |
8c4ef02c14b8
replace new version of fsexam, old version 0.3.1 is not used any more
yz157939@agc105
parents:
diff
changeset
|
82 |
g_print (_("Parameters of find(1) is empty.\n")); |
8c4ef02c14b8
replace new version of fsexam, old version 0.3.1 is not used any more
yz157939@agc105
parents:
diff
changeset
|
83 |
return NULL; |
8c4ef02c14b8
replace new version of fsexam, old version 0.3.1 is not used any more
yz157939@agc105
parents:
diff
changeset
|
84 |
} |
8c4ef02c14b8
replace new version of fsexam, old version 0.3.1 is not used any more
yz157939@agc105
parents:
diff
changeset
|
85 |
|
8c4ef02c14b8
replace new version of fsexam, old version 0.3.1 is not used any more
yz157939@agc105
parents:
diff
changeset
|
86 |
/* create pipe */ |
8c4ef02c14b8
replace new version of fsexam, old version 0.3.1 is not used any more
yz157939@agc105
parents:
diff
changeset
|
87 |
if (!g_spawn_async_with_pipes (NULL, argv, |
8c4ef02c14b8
replace new version of fsexam, old version 0.3.1 is not used any more
yz157939@agc105
parents:
diff
changeset
|
88 |
NULL, /* envp */ |
8c4ef02c14b8
replace new version of fsexam, old version 0.3.1 is not used any more
yz157939@agc105
parents:
diff
changeset
|
89 |
0, /* GSpawnFlags */ |
8c4ef02c14b8
replace new version of fsexam, old version 0.3.1 is not used any more
yz157939@agc105
parents:
diff
changeset
|
90 |
NULL, NULL, |
8c4ef02c14b8
replace new version of fsexam, old version 0.3.1 is not used any more
yz157939@agc105
parents:
diff
changeset
|
91 |
NULL, /* pid */ |
8c4ef02c14b8
replace new version of fsexam, old version 0.3.1 is not used any more
yz157939@agc105
parents:
diff
changeset
|
92 |
NULL, |
8c4ef02c14b8
replace new version of fsexam, old version 0.3.1 is not used any more
yz157939@agc105
parents:
diff
changeset
|
93 |
&child_stdout, |
8c4ef02c14b8
replace new version of fsexam, old version 0.3.1 is not used any more
yz157939@agc105
parents:
diff
changeset
|
94 |
NULL, |
8c4ef02c14b8
replace new version of fsexam, old version 0.3.1 is not used any more
yz157939@agc105
parents:
diff
changeset
|
95 |
&error)) { |
8c4ef02c14b8
replace new version of fsexam, old version 0.3.1 is not used any more
yz157939@agc105
parents:
diff
changeset
|
96 |
g_print (error->message); |
8c4ef02c14b8
replace new version of fsexam, old version 0.3.1 is not used any more
yz157939@agc105
parents:
diff
changeset
|
97 |
g_error_free (error); |
8c4ef02c14b8
replace new version of fsexam, old version 0.3.1 is not used any more
yz157939@agc105
parents:
diff
changeset
|
98 |
g_strfreev (argv); |
8c4ef02c14b8
replace new version of fsexam, old version 0.3.1 is not used any more
yz157939@agc105
parents:
diff
changeset
|
99 |
|
8c4ef02c14b8
replace new version of fsexam, old version 0.3.1 is not used any more
yz157939@agc105
parents:
diff
changeset
|
100 |
return NULL; |
8c4ef02c14b8
replace new version of fsexam, old version 0.3.1 is not used any more
yz157939@agc105
parents:
diff
changeset
|
101 |
} |
8c4ef02c14b8
replace new version of fsexam, old version 0.3.1 is not used any more
yz157939@agc105
parents:
diff
changeset
|
102 |
|
8c4ef02c14b8
replace new version of fsexam, old version 0.3.1 is not used any more
yz157939@agc105
parents:
diff
changeset
|
103 |
/* create FILE pointer from subprocess's stdout */ |
8c4ef02c14b8
replace new version of fsexam, old version 0.3.1 is not used any more
yz157939@agc105
parents:
diff
changeset
|
104 |
if ((fp = fdopen (child_stdout, "r")) == NULL) { |
8c4ef02c14b8
replace new version of fsexam, old version 0.3.1 is not used any more
yz157939@agc105
parents:
diff
changeset
|
105 |
g_print (_("Can't open pipe file descriptor.\n")); |
8c4ef02c14b8
replace new version of fsexam, old version 0.3.1 is not used any more
yz157939@agc105
parents:
diff
changeset
|
106 |
g_strfreev (argv); |
8c4ef02c14b8
replace new version of fsexam, old version 0.3.1 is not used any more
yz157939@agc105
parents:
diff
changeset
|
107 |
return NULL; |
8c4ef02c14b8
replace new version of fsexam, old version 0.3.1 is not used any more
yz157939@agc105
parents:
diff
changeset
|
108 |
} |
8c4ef02c14b8
replace new version of fsexam, old version 0.3.1 is not used any more
yz157939@agc105
parents:
diff
changeset
|
109 |
|
8c4ef02c14b8
replace new version of fsexam, old version 0.3.1 is not used any more
yz157939@agc105
parents:
diff
changeset
|
110 |
buf = (gchar *) g_malloc (PATH_MAX); |
8c4ef02c14b8
replace new version of fsexam, old version 0.3.1 is not used any more
yz157939@agc105
parents:
diff
changeset
|
111 |
g_print (_("Searching...")); |
8c4ef02c14b8
replace new version of fsexam, old version 0.3.1 is not used any more
yz157939@agc105
parents:
diff
changeset
|
112 |
g_print ("\n"); |
8c4ef02c14b8
replace new version of fsexam, old version 0.3.1 is not used any more
yz157939@agc105
parents:
diff
changeset
|
113 |
|
8c4ef02c14b8
replace new version of fsexam, old version 0.3.1 is not used any more
yz157939@agc105
parents:
diff
changeset
|
114 |
while (fgets (buf, PATH_MAX, fp) != NULL) { |
8c4ef02c14b8
replace new version of fsexam, old version 0.3.1 is not used any more
yz157939@agc105
parents:
diff
changeset
|
115 |
gint len = strlen (buf); |
8c4ef02c14b8
replace new version of fsexam, old version 0.3.1 is not used any more
yz157939@agc105
parents:
diff
changeset
|
116 |
|
8c4ef02c14b8
replace new version of fsexam, old version 0.3.1 is not used any more
yz157939@agc105
parents:
diff
changeset
|
117 |
if (buf[len - 1] == '\n') |
8c4ef02c14b8
replace new version of fsexam, old version 0.3.1 is not used any more
yz157939@agc105
parents:
diff
changeset
|
118 |
buf[len - 1] = '\0'; |
8c4ef02c14b8
replace new version of fsexam, old version 0.3.1 is not used any more
yz157939@agc105
parents:
diff
changeset
|
119 |
|
8c4ef02c14b8
replace new version of fsexam, old version 0.3.1 is not used any more
yz157939@agc105
parents:
diff
changeset
|
120 |
list = g_list_prepend (list, g_strdup (buf)); |
8c4ef02c14b8
replace new version of fsexam, old version 0.3.1 is not used any more
yz157939@agc105
parents:
diff
changeset
|
121 |
} |
8c4ef02c14b8
replace new version of fsexam, old version 0.3.1 is not used any more
yz157939@agc105
parents:
diff
changeset
|
122 |
|
8c4ef02c14b8
replace new version of fsexam, old version 0.3.1 is not used any more
yz157939@agc105
parents:
diff
changeset
|
123 |
g_print (_("Search finished")); |
8c4ef02c14b8
replace new version of fsexam, old version 0.3.1 is not used any more
yz157939@agc105
parents:
diff
changeset
|
124 |
g_print ("\n"); |
8c4ef02c14b8
replace new version of fsexam, old version 0.3.1 is not used any more
yz157939@agc105
parents:
diff
changeset
|
125 |
|
8c4ef02c14b8
replace new version of fsexam, old version 0.3.1 is not used any more
yz157939@agc105
parents:
diff
changeset
|
126 |
g_free (buf); |
8c4ef02c14b8
replace new version of fsexam, old version 0.3.1 is not used any more
yz157939@agc105
parents:
diff
changeset
|
127 |
g_strfreev (argv); |
8c4ef02c14b8
replace new version of fsexam, old version 0.3.1 is not used any more
yz157939@agc105
parents:
diff
changeset
|
128 |
fclose (fp); |
8c4ef02c14b8
replace new version of fsexam, old version 0.3.1 is not used any more
yz157939@agc105
parents:
diff
changeset
|
129 |
|
8c4ef02c14b8
replace new version of fsexam, old version 0.3.1 is not used any more
yz157939@agc105
parents:
diff
changeset
|
130 |
return list; |
8c4ef02c14b8
replace new version of fsexam, old version 0.3.1 is not used any more
yz157939@agc105
parents:
diff
changeset
|
131 |
} |
8c4ef02c14b8
replace new version of fsexam, old version 0.3.1 is not used any more
yz157939@agc105
parents:
diff
changeset
|
132 |
|
8c4ef02c14b8
replace new version of fsexam, old version 0.3.1 is not used any more
yz157939@agc105
parents:
diff
changeset
|
133 |
/* |
8c4ef02c14b8
replace new version of fsexam, old version 0.3.1 is not used any more
yz157939@agc105
parents:
diff
changeset
|
134 |
* Run file(1) and append searched files into search result treeview |
8c4ef02c14b8
replace new version of fsexam, old version 0.3.1 is not used any more
yz157939@agc105
parents:
diff
changeset
|
135 |
*/ |
8c4ef02c14b8
replace new version of fsexam, old version 0.3.1 is not used any more
yz157939@agc105
parents:
diff
changeset
|
136 |
void |
8c4ef02c14b8
replace new version of fsexam, old version 0.3.1 is not used any more
yz157939@agc105
parents:
diff
changeset
|
137 |
filter_gui_run (const gchar *folder, const gchar *params) |
8c4ef02c14b8
replace new version of fsexam, old version 0.3.1 is not used any more
yz157939@agc105
parents:
diff
changeset
|
138 |
{ |
8c4ef02c14b8
replace new version of fsexam, old version 0.3.1 is not used any more
yz157939@agc105
parents:
diff
changeset
|
139 |
FILE *fp = NULL; |
8c4ef02c14b8
replace new version of fsexam, old version 0.3.1 is not used any more
yz157939@agc105
parents:
diff
changeset
|
140 |
gchar **argv = NULL; |
8c4ef02c14b8
replace new version of fsexam, old version 0.3.1 is not used any more
yz157939@agc105
parents:
diff
changeset
|
141 |
GError *error = NULL; |
8c4ef02c14b8
replace new version of fsexam, old version 0.3.1 is not used any more
yz157939@agc105
parents:
diff
changeset
|
142 |
gint child_stdout; |
8c4ef02c14b8
replace new version of fsexam, old version 0.3.1 is not used any more
yz157939@agc105
parents:
diff
changeset
|
143 |
gint file_count = 0; |
8c4ef02c14b8
replace new version of fsexam, old version 0.3.1 is not used any more
yz157939@agc105
parents:
diff
changeset
|
144 |
gchar *buf = NULL; |
8c4ef02c14b8
replace new version of fsexam, old version 0.3.1 is not used any more
yz157939@agc105
parents:
diff
changeset
|
145 |
gchar *msg = NULL; |
8c4ef02c14b8
replace new version of fsexam, old version 0.3.1 is not used any more
yz157939@agc105
parents:
diff
changeset
|
146 |
GTimer *timer = NULL; |
8c4ef02c14b8
replace new version of fsexam, old version 0.3.1 is not used any more
yz157939@agc105
parents:
diff
changeset
|
147 |
gulong duration; |
8c4ef02c14b8
replace new version of fsexam, old version 0.3.1 is not used any more
yz157939@agc105
parents:
diff
changeset
|
148 |
GtkWidget *menu_stop = NULL; |
8c4ef02c14b8
replace new version of fsexam, old version 0.3.1 is not used any more
yz157939@agc105
parents:
diff
changeset
|
149 |
GtkWidget *menu_search = NULL; |
8c4ef02c14b8
replace new version of fsexam, old version 0.3.1 is not used any more
yz157939@agc105
parents:
diff
changeset
|
150 |
GtkWidget *menu_clear = NULL; |
8c4ef02c14b8
replace new version of fsexam, old version 0.3.1 is not used any more
yz157939@agc105
parents:
diff
changeset
|
151 |
GtkWidget *label_result = NULL; |
8c4ef02c14b8
replace new version of fsexam, old version 0.3.1 is not used any more
yz157939@agc105
parents:
diff
changeset
|
152 |
|
8c4ef02c14b8
replace new version of fsexam, old version 0.3.1 is not used any more
yz157939@agc105
parents:
diff
changeset
|
153 |
argv = filter_compose_argv (params); |
8c4ef02c14b8
replace new version of fsexam, old version 0.3.1 is not used any more
yz157939@agc105
parents:
diff
changeset
|
154 |
if (argv == NULL) { |
8c4ef02c14b8
replace new version of fsexam, old version 0.3.1 is not used any more
yz157939@agc105
parents:
diff
changeset
|
155 |
g_print (_("Parameters of find(1) is empty.\n")); |
8c4ef02c14b8
replace new version of fsexam, old version 0.3.1 is not used any more
yz157939@agc105
parents:
diff
changeset
|
156 |
return; |
8c4ef02c14b8
replace new version of fsexam, old version 0.3.1 is not used any more
yz157939@agc105
parents:
diff
changeset
|
157 |
} |
8c4ef02c14b8
replace new version of fsexam, old version 0.3.1 is not used any more
yz157939@agc105
parents:
diff
changeset
|
158 |
|
8c4ef02c14b8
replace new version of fsexam, old version 0.3.1 is not used any more
yz157939@agc105
parents:
diff
changeset
|
159 |
/* create pipe */ |
8c4ef02c14b8
replace new version of fsexam, old version 0.3.1 is not used any more
yz157939@agc105
parents:
diff
changeset
|
160 |
if (!g_spawn_async_with_pipes (NULL, argv, |
8c4ef02c14b8
replace new version of fsexam, old version 0.3.1 is not used any more
yz157939@agc105
parents:
diff
changeset
|
161 |
NULL, /* envp */ |
8c4ef02c14b8
replace new version of fsexam, old version 0.3.1 is not used any more
yz157939@agc105
parents:
diff
changeset
|
162 |
0, /* GSpawnFlags */ |
8c4ef02c14b8
replace new version of fsexam, old version 0.3.1 is not used any more
yz157939@agc105
parents:
diff
changeset
|
163 |
NULL, NULL, |
8c4ef02c14b8
replace new version of fsexam, old version 0.3.1 is not used any more
yz157939@agc105
parents:
diff
changeset
|
164 |
&view->pid, |
8c4ef02c14b8
replace new version of fsexam, old version 0.3.1 is not used any more
yz157939@agc105
parents:
diff
changeset
|
165 |
NULL, |
8c4ef02c14b8
replace new version of fsexam, old version 0.3.1 is not used any more
yz157939@agc105
parents:
diff
changeset
|
166 |
&child_stdout, |
8c4ef02c14b8
replace new version of fsexam, old version 0.3.1 is not used any more
yz157939@agc105
parents:
diff
changeset
|
167 |
NULL, |
8c4ef02c14b8
replace new version of fsexam, old version 0.3.1 is not used any more
yz157939@agc105
parents:
diff
changeset
|
168 |
&error)) { |
8c4ef02c14b8
replace new version of fsexam, old version 0.3.1 is not used any more
yz157939@agc105
parents:
diff
changeset
|
169 |
GtkWidget *dialog = NULL; |
8c4ef02c14b8
replace new version of fsexam, old version 0.3.1 is not used any more
yz157939@agc105
parents:
diff
changeset
|
170 |
|
8c4ef02c14b8
replace new version of fsexam, old version 0.3.1 is not used any more
yz157939@agc105
parents:
diff
changeset
|
171 |
dialog = gtk_message_dialog_new (GTK_WINDOW (view->mainwin), |
8c4ef02c14b8
replace new version of fsexam, old version 0.3.1 is not used any more
yz157939@agc105
parents:
diff
changeset
|
172 |
GTK_DIALOG_DESTROY_WITH_PARENT, |
8c4ef02c14b8
replace new version of fsexam, old version 0.3.1 is not used any more
yz157939@agc105
parents:
diff
changeset
|
173 |
GTK_MESSAGE_ERROR, |
8c4ef02c14b8
replace new version of fsexam, old version 0.3.1 is not used any more
yz157939@agc105
parents:
diff
changeset
|
174 |
GTK_BUTTONS_OK, |
8c4ef02c14b8
replace new version of fsexam, old version 0.3.1 is not used any more
yz157939@agc105
parents:
diff
changeset
|
175 |
_("Error occurs during executing the search command.")); |
8c4ef02c14b8
replace new version of fsexam, old version 0.3.1 is not used any more
yz157939@agc105
parents:
diff
changeset
|
176 |
gtk_message_dialog_format_secondary_text (GTK_MESSAGE_DIALOG (dialog), |
8c4ef02c14b8
replace new version of fsexam, old version 0.3.1 is not used any more
yz157939@agc105
parents:
diff
changeset
|
177 |
error->message); |
8c4ef02c14b8
replace new version of fsexam, old version 0.3.1 is not used any more
yz157939@agc105
parents:
diff
changeset
|
178 |
|
8c4ef02c14b8
replace new version of fsexam, old version 0.3.1 is not used any more
yz157939@agc105
parents:
diff
changeset
|
179 |
gtk_dialog_run (GTK_DIALOG (dialog)); |
8c4ef02c14b8
replace new version of fsexam, old version 0.3.1 is not used any more
yz157939@agc105
parents:
diff
changeset
|
180 |
|
8c4ef02c14b8
replace new version of fsexam, old version 0.3.1 is not used any more
yz157939@agc105
parents:
diff
changeset
|
181 |
gtk_widget_destroy (dialog); |
8c4ef02c14b8
replace new version of fsexam, old version 0.3.1 is not used any more
yz157939@agc105
parents:
diff
changeset
|
182 |
g_error_free (error); |
8c4ef02c14b8
replace new version of fsexam, old version 0.3.1 is not used any more
yz157939@agc105
parents:
diff
changeset
|
183 |
g_strfreev (argv); |
8c4ef02c14b8
replace new version of fsexam, old version 0.3.1 is not used any more
yz157939@agc105
parents:
diff
changeset
|
184 |
|
8c4ef02c14b8
replace new version of fsexam, old version 0.3.1 is not used any more
yz157939@agc105
parents:
diff
changeset
|
185 |
return; |
8c4ef02c14b8
replace new version of fsexam, old version 0.3.1 is not used any more
yz157939@agc105
parents:
diff
changeset
|
186 |
} |
8c4ef02c14b8
replace new version of fsexam, old version 0.3.1 is not used any more
yz157939@agc105
parents:
diff
changeset
|
187 |
|
8c4ef02c14b8
replace new version of fsexam, old version 0.3.1 is not used any more
yz157939@agc105
parents:
diff
changeset
|
188 |
/* create FILE pointer from subprocess's stdout */ |
8c4ef02c14b8
replace new version of fsexam, old version 0.3.1 is not used any more
yz157939@agc105
parents:
diff
changeset
|
189 |
if ((fp = fdopen (child_stdout, "r")) == NULL) { |
8c4ef02c14b8
replace new version of fsexam, old version 0.3.1 is not used any more
yz157939@agc105
parents:
diff
changeset
|
190 |
GtkWidget *dialog = NULL; |
8c4ef02c14b8
replace new version of fsexam, old version 0.3.1 is not used any more
yz157939@agc105
parents:
diff
changeset
|
191 |
|
8c4ef02c14b8
replace new version of fsexam, old version 0.3.1 is not used any more
yz157939@agc105
parents:
diff
changeset
|
192 |
dialog = gtk_message_dialog_new (GTK_WINDOW (view->mainwin), |
8c4ef02c14b8
replace new version of fsexam, old version 0.3.1 is not used any more
yz157939@agc105
parents:
diff
changeset
|
193 |
GTK_DIALOG_DESTROY_WITH_PARENT, |
8c4ef02c14b8
replace new version of fsexam, old version 0.3.1 is not used any more
yz157939@agc105
parents:
diff
changeset
|
194 |
GTK_MESSAGE_ERROR, |
8c4ef02c14b8
replace new version of fsexam, old version 0.3.1 is not used any more
yz157939@agc105
parents:
diff
changeset
|
195 |
GTK_BUTTONS_OK, |
8c4ef02c14b8
replace new version of fsexam, old version 0.3.1 is not used any more
yz157939@agc105
parents:
diff
changeset
|
196 |
_("Error occurs when open fd.")); |
8c4ef02c14b8
replace new version of fsexam, old version 0.3.1 is not used any more
yz157939@agc105
parents:
diff
changeset
|
197 |
gtk_message_dialog_format_secondary_text (GTK_MESSAGE_DIALOG (dialog), |
8c4ef02c14b8
replace new version of fsexam, old version 0.3.1 is not used any more
yz157939@agc105
parents:
diff
changeset
|
198 |
g_strerror (errno)); |
8c4ef02c14b8
replace new version of fsexam, old version 0.3.1 is not used any more
yz157939@agc105
parents:
diff
changeset
|
199 |
|
8c4ef02c14b8
replace new version of fsexam, old version 0.3.1 is not used any more
yz157939@agc105
parents:
diff
changeset
|
200 |
gtk_dialog_run (GTK_DIALOG (dialog)); |
8c4ef02c14b8
replace new version of fsexam, old version 0.3.1 is not used any more
yz157939@agc105
parents:
diff
changeset
|
201 |
|
8c4ef02c14b8
replace new version of fsexam, old version 0.3.1 is not used any more
yz157939@agc105
parents:
diff
changeset
|
202 |
gtk_widget_destroy (dialog); |
8c4ef02c14b8
replace new version of fsexam, old version 0.3.1 is not used any more
yz157939@agc105
parents:
diff
changeset
|
203 |
g_strfreev (argv); |
8c4ef02c14b8
replace new version of fsexam, old version 0.3.1 is not used any more
yz157939@agc105
parents:
diff
changeset
|
204 |
|
8c4ef02c14b8
replace new version of fsexam, old version 0.3.1 is not used any more
yz157939@agc105
parents:
diff
changeset
|
205 |
return; |
8c4ef02c14b8
replace new version of fsexam, old version 0.3.1 is not used any more
yz157939@agc105
parents:
diff
changeset
|
206 |
} |
8c4ef02c14b8
replace new version of fsexam, old version 0.3.1 is not used any more
yz157939@agc105
parents:
diff
changeset
|
207 |
|
8c4ef02c14b8
replace new version of fsexam, old version 0.3.1 is not used any more
yz157939@agc105
parents:
diff
changeset
|
208 |
/* |
8c4ef02c14b8
replace new version of fsexam, old version 0.3.1 is not used any more
yz157939@agc105
parents:
diff
changeset
|
209 |
* Prepare for searching |
8c4ef02c14b8
replace new version of fsexam, old version 0.3.1 is not used any more
yz157939@agc105
parents:
diff
changeset
|
210 |
*/ |
8c4ef02c14b8
replace new version of fsexam, old version 0.3.1 is not used any more
yz157939@agc105
parents:
diff
changeset
|
211 |
menu_clear = g_object_get_data (G_OBJECT (view->mainwin), |
8c4ef02c14b8
replace new version of fsexam, old version 0.3.1 is not used any more
yz157939@agc105
parents:
diff
changeset
|
212 |
"menu_clear_search"); |
8c4ef02c14b8
replace new version of fsexam, old version 0.3.1 is not used any more
yz157939@agc105
parents:
diff
changeset
|
213 |
menu_search = g_object_get_data (G_OBJECT (view->mainwin), "menu_search"); |
8c4ef02c14b8
replace new version of fsexam, old version 0.3.1 is not used any more
yz157939@agc105
parents:
diff
changeset
|
214 |
menu_stop = g_object_get_data (G_OBJECT (view->mainwin), |
8c4ef02c14b8
replace new version of fsexam, old version 0.3.1 is not used any more
yz157939@agc105
parents:
diff
changeset
|
215 |
"menu_stop_search"); |
8c4ef02c14b8
replace new version of fsexam, old version 0.3.1 is not used any more
yz157939@agc105
parents:
diff
changeset
|
216 |
gtk_widget_set_sensitive (menu_clear, FALSE); |
8c4ef02c14b8
replace new version of fsexam, old version 0.3.1 is not used any more
yz157939@agc105
parents:
diff
changeset
|
217 |
gtk_widget_hide (menu_search); |
8c4ef02c14b8
replace new version of fsexam, old version 0.3.1 is not used any more
yz157939@agc105
parents:
diff
changeset
|
218 |
gtk_widget_show (menu_stop); |
8c4ef02c14b8
replace new version of fsexam, old version 0.3.1 is not used any more
yz157939@agc105
parents:
diff
changeset
|
219 |
|
8c4ef02c14b8
replace new version of fsexam, old version 0.3.1 is not used any more
yz157939@agc105
parents:
diff
changeset
|
220 |
label_result = g_object_get_data (G_OBJECT (view->mainwin), "label_result"); |
8c4ef02c14b8
replace new version of fsexam, old version 0.3.1 is not used any more
yz157939@agc105
parents:
diff
changeset
|
221 |
fsexam_statusbar_update (_("Searching...")); |
8c4ef02c14b8
replace new version of fsexam, old version 0.3.1 is not used any more
yz157939@agc105
parents:
diff
changeset
|
222 |
|
8c4ef02c14b8
replace new version of fsexam, old version 0.3.1 is not used any more
yz157939@agc105
parents:
diff
changeset
|
223 |
/* show result pane and clear previous result */ |
8c4ef02c14b8
replace new version of fsexam, old version 0.3.1 is not used any more
yz157939@agc105
parents:
diff
changeset
|
224 |
fsexam_search_treeview_append_file (NULL, TRUE); |
8c4ef02c14b8
replace new version of fsexam, old version 0.3.1 is not used any more
yz157939@agc105
parents:
diff
changeset
|
225 |
g_free (view->basedir); |
8c4ef02c14b8
replace new version of fsexam, old version 0.3.1 is not used any more
yz157939@agc105
parents:
diff
changeset
|
226 |
|
8c4ef02c14b8
replace new version of fsexam, old version 0.3.1 is not used any more
yz157939@agc105
parents:
diff
changeset
|
227 |
/* resolve possible symlink in folder path */ |
8c4ef02c14b8
replace new version of fsexam, old version 0.3.1 is not used any more
yz157939@agc105
parents:
diff
changeset
|
228 |
if (g_file_test (folder, G_FILE_TEST_IS_SYMLINK)) |
8c4ef02c14b8
replace new version of fsexam, old version 0.3.1 is not used any more
yz157939@agc105
parents:
diff
changeset
|
229 |
view->basedir = get_abs_path_for_symlink_target (folder); |
8c4ef02c14b8
replace new version of fsexam, old version 0.3.1 is not used any more
yz157939@agc105
parents:
diff
changeset
|
230 |
else |
8c4ef02c14b8
replace new version of fsexam, old version 0.3.1 is not used any more
yz157939@agc105
parents:
diff
changeset
|
231 |
view->basedir = get_abs_path (folder); |
8c4ef02c14b8
replace new version of fsexam, old version 0.3.1 is not used any more
yz157939@agc105
parents:
diff
changeset
|
232 |
|
8c4ef02c14b8
replace new version of fsexam, old version 0.3.1 is not used any more
yz157939@agc105
parents:
diff
changeset
|
233 |
stop_search = FALSE; |
8c4ef02c14b8
replace new version of fsexam, old version 0.3.1 is not used any more
yz157939@agc105
parents:
diff
changeset
|
234 |
buf = (gchar *) g_malloc (PATH_MAX); |
8c4ef02c14b8
replace new version of fsexam, old version 0.3.1 is not used any more
yz157939@agc105
parents:
diff
changeset
|
235 |
memset (buf, 0, PATH_MAX); |
8c4ef02c14b8
replace new version of fsexam, old version 0.3.1 is not used any more
yz157939@agc105
parents:
diff
changeset
|
236 |
|
8c4ef02c14b8
replace new version of fsexam, old version 0.3.1 is not used any more
yz157939@agc105
parents:
diff
changeset
|
237 |
timer = g_timer_new (); |
8c4ef02c14b8
replace new version of fsexam, old version 0.3.1 is not used any more
yz157939@agc105
parents:
diff
changeset
|
238 |
g_timer_start (timer); |
8c4ef02c14b8
replace new version of fsexam, old version 0.3.1 is not used any more
yz157939@agc105
parents:
diff
changeset
|
239 |
|
8c4ef02c14b8
replace new version of fsexam, old version 0.3.1 is not used any more
yz157939@agc105
parents:
diff
changeset
|
240 |
/* Read data from child's stdout async */ |
8c4ef02c14b8
replace new version of fsexam, old version 0.3.1 is not used any more
yz157939@agc105
parents:
diff
changeset
|
241 |
while (fgets (buf, PATH_MAX, fp) != NULL) { |
8c4ef02c14b8
replace new version of fsexam, old version 0.3.1 is not used any more
yz157939@agc105
parents:
diff
changeset
|
242 |
gint len = strlen (buf); |
8c4ef02c14b8
replace new version of fsexam, old version 0.3.1 is not used any more
yz157939@agc105
parents:
diff
changeset
|
243 |
|
8c4ef02c14b8
replace new version of fsexam, old version 0.3.1 is not used any more
yz157939@agc105
parents:
diff
changeset
|
244 |
if (buf[len - 1] == '\n') |
8c4ef02c14b8
replace new version of fsexam, old version 0.3.1 is not used any more
yz157939@agc105
parents:
diff
changeset
|
245 |
buf[len - 1] = '\0'; |
8c4ef02c14b8
replace new version of fsexam, old version 0.3.1 is not used any more
yz157939@agc105
parents:
diff
changeset
|
246 |
|
8c4ef02c14b8
replace new version of fsexam, old version 0.3.1 is not used any more
yz157939@agc105
parents:
diff
changeset
|
247 |
fsexam_search_treeview_append_file (buf, FALSE); |
8c4ef02c14b8
replace new version of fsexam, old version 0.3.1 is not used any more
yz157939@agc105
parents:
diff
changeset
|
248 |
file_count ++; |
8c4ef02c14b8
replace new version of fsexam, old version 0.3.1 is not used any more
yz157939@agc105
parents:
diff
changeset
|
249 |
|
8c4ef02c14b8
replace new version of fsexam, old version 0.3.1 is not used any more
yz157939@agc105
parents:
diff
changeset
|
250 |
g_timer_elapsed (timer, &duration); |
8c4ef02c14b8
replace new version of fsexam, old version 0.3.1 is not used any more
yz157939@agc105
parents:
diff
changeset
|
251 |
|
8c4ef02c14b8
replace new version of fsexam, old version 0.3.1 is not used any more
yz157939@agc105
parents:
diff
changeset
|
252 |
if (duration > FSEXAM_REFRESH_TIMEOUT) { |
8c4ef02c14b8
replace new version of fsexam, old version 0.3.1 is not used any more
yz157939@agc105
parents:
diff
changeset
|
253 |
msg = g_strdup_printf (_("%d files found"), file_count); |
8c4ef02c14b8
replace new version of fsexam, old version 0.3.1 is not used any more
yz157939@agc105
parents:
diff
changeset
|
254 |
gtk_label_set_text (GTK_LABEL (label_result), msg); |
8c4ef02c14b8
replace new version of fsexam, old version 0.3.1 is not used any more
yz157939@agc105
parents:
diff
changeset
|
255 |
g_free (msg); |
8c4ef02c14b8
replace new version of fsexam, old version 0.3.1 is not used any more
yz157939@agc105
parents:
diff
changeset
|
256 |
|
8c4ef02c14b8
replace new version of fsexam, old version 0.3.1 is not used any more
yz157939@agc105
parents:
diff
changeset
|
257 |
while (gtk_events_pending ()) { |
8c4ef02c14b8
replace new version of fsexam, old version 0.3.1 is not used any more
yz157939@agc105
parents:
diff
changeset
|
258 |
gtk_main_iteration (); |
8c4ef02c14b8
replace new version of fsexam, old version 0.3.1 is not used any more
yz157939@agc105
parents:
diff
changeset
|
259 |
} |
8c4ef02c14b8
replace new version of fsexam, old version 0.3.1 is not used any more
yz157939@agc105
parents:
diff
changeset
|
260 |
|
8c4ef02c14b8
replace new version of fsexam, old version 0.3.1 is not used any more
yz157939@agc105
parents:
diff
changeset
|
261 |
g_timer_reset (timer); |
8c4ef02c14b8
replace new version of fsexam, old version 0.3.1 is not used any more
yz157939@agc105
parents:
diff
changeset
|
262 |
} |
8c4ef02c14b8
replace new version of fsexam, old version 0.3.1 is not used any more
yz157939@agc105
parents:
diff
changeset
|
263 |
|
8c4ef02c14b8
replace new version of fsexam, old version 0.3.1 is not used any more
yz157939@agc105
parents:
diff
changeset
|
264 |
if (force_quit) /* user quit application */ |
8c4ef02c14b8
replace new version of fsexam, old version 0.3.1 is not used any more
yz157939@agc105
parents:
diff
changeset
|
265 |
break; |
8c4ef02c14b8
replace new version of fsexam, old version 0.3.1 is not used any more
yz157939@agc105
parents:
diff
changeset
|
266 |
} |
8c4ef02c14b8
replace new version of fsexam, old version 0.3.1 is not used any more
yz157939@agc105
parents:
diff
changeset
|
267 |
|
8c4ef02c14b8
replace new version of fsexam, old version 0.3.1 is not used any more
yz157939@agc105
parents:
diff
changeset
|
268 |
g_timer_destroy (timer); |
8c4ef02c14b8
replace new version of fsexam, old version 0.3.1 is not used any more
yz157939@agc105
parents:
diff
changeset
|
269 |
|
8c4ef02c14b8
replace new version of fsexam, old version 0.3.1 is not used any more
yz157939@agc105
parents:
diff
changeset
|
270 |
if (!force_quit) { /* Quit the whole app, mainwin has been destroyed */ |
8c4ef02c14b8
replace new version of fsexam, old version 0.3.1 is not used any more
yz157939@agc105
parents:
diff
changeset
|
271 |
g_spawn_close_pid (view->pid); |
8c4ef02c14b8
replace new version of fsexam, old version 0.3.1 is not used any more
yz157939@agc105
parents:
diff
changeset
|
272 |
view->pid = -1; |
8c4ef02c14b8
replace new version of fsexam, old version 0.3.1 is not used any more
yz157939@agc105
parents:
diff
changeset
|
273 |
|
8c4ef02c14b8
replace new version of fsexam, old version 0.3.1 is not used any more
yz157939@agc105
parents:
diff
changeset
|
274 |
msg = g_strdup_printf (_("%d files found"), file_count); |
8c4ef02c14b8
replace new version of fsexam, old version 0.3.1 is not used any more
yz157939@agc105
parents:
diff
changeset
|
275 |
gtk_label_set_text (GTK_LABEL (label_result), msg); |
8c4ef02c14b8
replace new version of fsexam, old version 0.3.1 is not used any more
yz157939@agc105
parents:
diff
changeset
|
276 |
g_free (msg); |
8c4ef02c14b8
replace new version of fsexam, old version 0.3.1 is not used any more
yz157939@agc105
parents:
diff
changeset
|
277 |
|
8c4ef02c14b8
replace new version of fsexam, old version 0.3.1 is not used any more
yz157939@agc105
parents:
diff
changeset
|
278 |
if (file_count != 0) |
8c4ef02c14b8
replace new version of fsexam, old version 0.3.1 is not used any more
yz157939@agc105
parents:
diff
changeset
|
279 |
gtk_widget_set_sensitive (menu_clear, TRUE); |
8c4ef02c14b8
replace new version of fsexam, old version 0.3.1 is not used any more
yz157939@agc105
parents:
diff
changeset
|
280 |
|
8c4ef02c14b8
replace new version of fsexam, old version 0.3.1 is not used any more
yz157939@agc105
parents:
diff
changeset
|
281 |
gtk_widget_hide (menu_stop); |
8c4ef02c14b8
replace new version of fsexam, old version 0.3.1 is not used any more
yz157939@agc105
parents:
diff
changeset
|
282 |
gtk_widget_show (menu_search); |
8c4ef02c14b8
replace new version of fsexam, old version 0.3.1 is not used any more
yz157939@agc105
parents:
diff
changeset
|
283 |
|
8c4ef02c14b8
replace new version of fsexam, old version 0.3.1 is not used any more
yz157939@agc105
parents:
diff
changeset
|
284 |
fsexam_statusbar_update (stop_search ? _("Search stopped") |
8c4ef02c14b8
replace new version of fsexam, old version 0.3.1 is not used any more
yz157939@agc105
parents:
diff
changeset
|
285 |
: _("Search finished")); |
8c4ef02c14b8
replace new version of fsexam, old version 0.3.1 is not used any more
yz157939@agc105
parents:
diff
changeset
|
286 |
} |
8c4ef02c14b8
replace new version of fsexam, old version 0.3.1 is not used any more
yz157939@agc105
parents:
diff
changeset
|
287 |
|
8c4ef02c14b8
replace new version of fsexam, old version 0.3.1 is not used any more
yz157939@agc105
parents:
diff
changeset
|
288 |
fclose (fp); |
8c4ef02c14b8
replace new version of fsexam, old version 0.3.1 is not used any more
yz157939@agc105
parents:
diff
changeset
|
289 |
g_free (buf); |
8c4ef02c14b8
replace new version of fsexam, old version 0.3.1 is not used any more
yz157939@agc105
parents:
diff
changeset
|
290 |
g_strfreev (argv); |
8c4ef02c14b8
replace new version of fsexam, old version 0.3.1 is not used any more
yz157939@agc105
parents:
diff
changeset
|
291 |
|
8c4ef02c14b8
replace new version of fsexam, old version 0.3.1 is not used any more
yz157939@agc105
parents:
diff
changeset
|
292 |
return; |
8c4ef02c14b8
replace new version of fsexam, old version 0.3.1 is not used any more
yz157939@agc105
parents:
diff
changeset
|
293 |
} |