blautenb 2003/05/18 05:01:13
Modified: c/src/tools/checksig InteropResolver.cpp InteropResolver.hpp
Log:
update to find files under linux
Revision Changes Path
1.2 +25 -7 xml-security/c/src/tools/checksig/InteropResolver.cpp
Index: InteropResolver.cpp
===================================================================
RCS file: /home/cvs/xml-security/c/src/tools/checksig/InteropResolver.cpp,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- InteropResolver.cpp 18 May 2003 11:02:42 -0000 1.1
+++ InteropResolver.cpp 18 May 2003 12:01:13 -0000 1.2
@@ -99,6 +99,10 @@
m_searchStarted = false;
m_searchFinished = false;
+#if !defined(_WIN32)
+ m_fcount = 0;
+#endif
+
}
@@ -146,16 +150,29 @@
// Reverse the "backslash" characters
reverseSlash(path);
-#endif
m_handle = _findfirst(path.rawCharBuffer(), &m_finder);
res = m_handle;
+#else
+ if (glob(path.rawCharBuffer(), 0, NULL, &m_globbuf) != 0)
+ res = -1;
+ else
+ res = 0;
+#endif
+
m_searchStarted = true;
}
else {
+#if defined(_WIN32)
res = _findnext(m_handle, &m_finder);
+#else
+ if (m_fcount == m_globbuf.gl_pathc)
+ res = -1;
+ else
+ res = 0;
+#endif
}
@@ -180,18 +197,19 @@
// Create the filename
safeBuffer fname;
+#if defined(_WIN32)
fname.sbTranscodeIn(mp_baseURI);
fname.sbStrcatIn("/certs/");
fname.sbStrcatIn(m_finder.name);
-
-#if defined(_WIN32)
reverseSlash(fname);
+#else
+ fname.sbStrcpyIn(m_globbuf.gl_pathv[m_fcount++]);
#endif
if (BIO_read_filename(bioCert, fname.rawCharBuffer()) <= 0) {
- std::cerr << "Error opening certificate file\n\n";
- exit (1);
+ std::cerr << "Error opening certificate file\n" <<
fname.rawCharBuffer() << std::endl;
+ return NULL;
}
@@ -369,7 +387,7 @@
int xlen = b64.decode((unsigned char *) cski,
clen, xski, clen);
xlen += b64.decodeFinish(&xski[xlen], clen -
xlen);
- if (xlen != NULL) {
+ if (xlen != 0) {
// Have a buffer with a number in it
STACK_OF(X509_EXTENSION) *exts;
1.2 +12 -3 xml-security/c/src/tools/checksig/InteropResolver.hpp
Index: InteropResolver.hpp
===================================================================
RCS file: /home/cvs/xml-security/c/src/tools/checksig/InteropResolver.hpp,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- InteropResolver.hpp 18 May 2003 11:02:42 -0000 1.1
+++ InteropResolver.hpp 18 May 2003 12:01:13 -0000 1.2
@@ -74,7 +74,11 @@
#include <xsec/framework/XSECDefs.hpp>
#include <xsec/enc/XSECKeyInfoResolver.hpp>
-#include <io.h>
+#if defined (_WIN32)
+# include <io.h>
+#else
+# include <glob.h>
+#endif
#include <openssl/x509.h>
@@ -100,9 +104,14 @@
XMLCh * mp_baseURI;
bool m_searchStarted;
bool m_searchFinished;
+
+#if defined (_WIN32)
_finddata_t m_finder;
long m_handle;
-
+#else
+ glob_t m_globbuf;
+ unsigned int m_fcount;
+#endif
};