Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndrew Niefer2007-02-07 13:13:48 -0500
committerAndrew Niefer2007-02-07 13:13:48 -0500
commit86378a4a20b3c5577ab9c92d63212c96e202a441 (patch)
tree5bca34ca181c18539acfef9281a2e87e27c67def /bundles/org.eclipse.equinox.executable/library/eclipseCommon.c
parent36bd064c34872a9dbd25bb88e327dd33ef9c760b (diff)
downloadrt.equinox.framework-86378a4a20b3c5577ab9c92d63212c96e202a441.tar.gz
rt.equinox.framework-86378a4a20b3c5577ab9c92d63212c96e202a441.tar.xz
rt.equinox.framework-86378a4a20b3c5577ab9c92d63212c96e202a441.zip
bug 173301
Diffstat (limited to 'bundles/org.eclipse.equinox.executable/library/eclipseCommon.c')
-rw-r--r--bundles/org.eclipse.equinox.executable/library/eclipseCommon.c18
1 files changed, 16 insertions, 2 deletions
diff --git a/bundles/org.eclipse.equinox.executable/library/eclipseCommon.c b/bundles/org.eclipse.equinox.executable/library/eclipseCommon.c
index e7427f9cf..5458912e8 100644
--- a/bundles/org.eclipse.equinox.executable/library/eclipseCommon.c
+++ b/bundles/org.eclipse.equinox.executable/library/eclipseCommon.c
@@ -214,10 +214,24 @@ static int filter(struct dirent *dir) {
#else
static int filter(const struct dirent *dir) {
#endif
+ char *c1, *c2;
+
if(_tcslen(dir->d_name) <= prefixLength)
return 0;
- return (_tcsncmp(dir->d_name, filterPrefix, prefixLength) == 0 &&
- dir->d_name[prefixLength] == _T_ECLIPSE('_'));
+ if (_tcsncmp(dir->d_name, filterPrefix, prefixLength) == 0 &&
+ dir->d_name[prefixLength] == '_')
+ {
+ c1 = strchr(&dir->d_name[prefixLength + 1], '_');
+ if(c1 != NULL) {
+ c2 = strchr(&dir->d_name[prefixLength + 1], '.');
+ if (c2 != NULL) {
+ return c2 < c1;
+ } else
+ return 0;
+ } else
+ return 1;
+ }
+ return 0;
}
#endif
/*

Back to the top