[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[GNUnet-SVN] r23083 - Extractor/src/main
From: |
gnunet |
Subject: |
[GNUnet-SVN] r23083 - Extractor/src/main |
Date: |
Sat, 4 Aug 2012 01:12:03 +0200 |
Author: grothoff
Date: 2012-08-04 01:12:03 +0200 (Sat, 04 Aug 2012)
New Revision: 23083
Modified:
Extractor/src/main/extractor_plugpath.c
Log:
make lib finding more robust
Modified: Extractor/src/main/extractor_plugpath.c
===================================================================
--- Extractor/src/main/extractor_plugpath.c 2012-08-03 23:08:22 UTC (rev
23082)
+++ Extractor/src/main/extractor_plugpath.c 2012-08-03 23:12:03 UTC (rev
23083)
@@ -504,6 +504,7 @@
const char *sym_name;
char *sym;
char *dot;
+ size_t dlen;
if (NULL != sc->path)
return;
@@ -513,8 +514,10 @@
{
if ('.' == ent->d_name[0])
continue;
- if ( (NULL == strstr (ent->d_name, ".so")) &&
- (NULL == strstr (ent->d_name, ".dll")) )
+ dlen = strlen (ent->d_name);
+ if ( (dlen < 4) ||
+ ( (0 != strcmp (&ent->d_name[dlen-3], ".so")) &&
+ (0 != strcasecmp (&ent->d_name[dlen-4], ".dll")) ) )
continue; /* only load '.so' and '.dll' */
if (NULL == (sym_name = strrchr (ent->d_name, '_')))
continue;
@@ -590,6 +593,7 @@
const char *sym_name;
char *sym;
char *dot;
+ size_t dlen;
if (NULL == (dir = opendir (path)))
return;
@@ -597,8 +601,10 @@
{
if (ent->d_name[0] == '.')
continue;
- if ( (NULL == strstr (ent->d_name, ".so")) &&
- (NULL == strstr (ent->d_name, ".dll")) )
+ dlen = strlen (ent->d_name);
+ if ( (dlen < 4) ||
+ ( (0 != strcmp (&ent->d_name[dlen-3], ".so")) &&
+ (0 != strcasecmp (&ent->d_name[dlen-4], ".dll")) ) )
continue; /* only load '.so' and '.dll' */
if (NULL == (sym_name = strrchr (ent->d_name, '_')))
continue;
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [GNUnet-SVN] r23083 - Extractor/src/main,
gnunet <=