ViewVC Help
View File | Revision Log | Show Annotations | Download File | View Changeset | Root Listing
root/proj/trunk/Search/Search.cpp
(Generate patch)

Comparing trunk/Search/Search.cpp (file contents):
Revision 35 by douglas, 2003-01-16T17:27:03-08:00 vs.
Revision 200 by douglas, 2003-07-15T00:41:43-07:00

# Line 46 | Line 46
46   //
47   // Douglas Thrift
48   //
49 < // Search.cpp
49 > // $Id: Search.cpp,v 1.18 2003/07/15 07:41:43 douglas Exp $
50  
51   #include "Search.h"
52   #include "Indexer.h"
# Line 57 | Line 57
57   #include <sys/utsname.h>
58   #else
59   #include <windows.h>
60 < #endif // _WIN32
60 > #endif
61 >
62 > #ifdef _OpenSSL_
63 > #include <openssl/crypto.h>
64 >
65 > inline string openssl(bool agent = false)
66 > {
67 >        ostringstream openssl;
68 >
69 >        openssl << "OpenSSL" << (agent ? "/" : " ");
70 >
71 >        long version = SSLeay();
72 >        long major = version / 0x10000000;
73 >        long minor = (version % 0x10000000) / 0x100000;
74 >        long fix = (version % 0x100000) / 0x1000;
75 >        long patch = (version % 0x1000);
76 >        
77 >        openssl << major << "." << minor << "." << fix;
78 >
79 >        if (patch == 0x0)
80 >        {
81 >                openssl << "-dev";
82 >        }
83 >        else if (patch >= 0x1 && patch <= 0xe)
84 >        {
85 >                openssl << "-beta" << patch;
86 >        }
87 >        else if (patch > 0xf)
88 >        {
89 >                openssl << char('a' - 1 + (patch / 0x10) % 26);
90 >        }
91 >
92 >        if (!agent)
93 >        {
94 >                openssl << " " << SSLeay_version(SSLEAY_BUILT_ON) << " "
95 >                   << SSLeay_version(SSLEAY_PLATFORM);
96 >        }
97 >
98 >        return openssl.str();
99 > }
100 > #endif
101  
102   string program;
103   string programName = "Douglas Thrift's Search Engine";
104 < string programVersion = "1.1alpha2";
104 > string programVersion = "1.2alpha";
105   bool debug = false;
106  
107   int main(int argc, char* argv[])
# Line 84 | Line 124 | int main(int argc, char* argv[])
124          string notfound = "notfound.html";
125          string pages = "pages.html";
126  
127 +        string email;
128 +
129          for (int index = 1; index < argc; index++)
130          {
131                  string arg(argv[index]);
# Line 222 | Line 264 | int main(int argc, char* argv[])
264                                  return 1;
265                          }
266                  }
225                else if (arg == "-e")
226                {
227                        if (++index < argc)
228                        {
229                                // set from email
230                        }
231                        else
232                        {
233                                cerr << program << ": Bad arguments\n";
234                                usage();
235                                return 1;
236                        }
237                }
267                  else if (arg == "-D")
268                  {
269                          debug = true;
270 +                        cerr.setf(ios_base::boolalpha);
271                  }
272                  else
273                  {
# Line 257 | Line 287 | int main(int argc, char* argv[])
287                  {
288                          cerr << program << ": Too many indices, can only build one index"
289                                  << " at a time\n";
290 +                        usage();
291                          return 1;
292                  }
293  
294                  if (indexDomains.size() < 1)
295                  {
296                          cerr << program << ": Must specify at least one domain\n";
297 +                        usage();
298                          return 1;
299                  }
300  
# Line 395 | Line 427 | string platform()
427  
428   void usage()
429   {
430 + #ifdef _WIN32
431 +        OSVERSIONINFO* computer = new OSVERSIONINFO;
432 +        computer->dwOSVersionInfoSize = sizeof(OSVERSIONINFO);
433 +        GetVersionEx(computer);
434 +
435 +        string program = ::program;
436 +        if (computer->dwPlatformId != VER_PLATFORM_WIN32_NT)
437 +        {
438 +                program = "Search";
439 +        }
440 +
441 +        delete computer;
442 + #endif // _WIN32
443 +
444          string tab(8 + program.length(), ' ');
445  
446          cout << "Usage: " << program << " [index ...] [-P page] [-h header] [-b bo"
# Line 432 | Line 478 | void version()
478                  << "\n"
479                  << "   This product includes software developed by Douglas Thrift\n"
480                  << "   (http://computers.douglasthrift.net/searchengine/).\n";
481 + #ifdef _OpenSSL_
482 +        cout << "\n" << openssl() << "\n";
483 + #endif
484   }
485  
486   void license()

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines