[GRASS-SVN] r50632 - grass/trunk/lib/db/dbmi_base
svn_grass at osgeo.org
svn_grass at osgeo.org
Thu Feb 2 07:26:35 EST 2012
Author: martinl
Date: 2012-02-02 04:26:35 -0800 (Thu, 02 Feb 2012)
New Revision: 50632
Modified:
grass/trunk/lib/db/dbmi_base/dbmscap.c
Log:
dbmi_base: skip manifest files when listing drivers - check permission X_OK
Modified: grass/trunk/lib/db/dbmi_base/dbmscap.c
===================================================================
--- grass/trunk/lib/db/dbmi_base/dbmscap.c 2012-02-02 12:13:47 UTC (rev 50631)
+++ grass/trunk/lib/db/dbmi_base/dbmscap.c 2012-02-02 12:26:35 UTC (rev 50632)
@@ -178,19 +178,17 @@
while ((ent = readdir(dir))) {
char *name;
- if ((strcmp(ent->d_name, ".") == 0)
- || (strcmp(ent->d_name, "..") == 0))
+ if ((strcmp(ent->d_name, ".") == 0) ||
+ (strcmp(ent->d_name, "..") == 0))
continue;
#ifdef __MINGW32__
- /* skip manifest files on Windows */
- if (G_strstr(ent->d_name, ".manifest"))
- continue;
+ /* remove '.exe' from name (windows extension) */
+ name = G_str_replace(ent->d_name, ".exe", "");
+#else
+ name = G_store(ent->d_name);
#endif
- /* Remove '.exe' from name (windows extension) */
- name = G_str_replace(ent->d_name, ".exe", "");
-
#ifdef __MINGW32__
dirpath = G_malloc(strlen("\\driver\\db\\")
+ strlen(G_gisbase()) + strlen(ent->d_name) + 1);
@@ -199,6 +197,9 @@
#else
G_asprintf(&dirpath, "%s/driver/db/%s", G_gisbase(), ent->d_name);
#endif
+ if (access(dirpath, X_OK) != 0)
+ continue;
+
add_entry(&list, name, dirpath, "");
G_free(name);
G_free(dirpath);
More information about the grass-commit
mailing list