summaryrefslogtreecommitdiff
path: root/tools/mail-scan.c
diff options
context:
space:
mode:
Diffstat (limited to 'tools/mail-scan.c')
-rw-r--r--tools/mail-scan.c41
1 files changed, 14 insertions, 27 deletions
diff --git a/tools/mail-scan.c b/tools/mail-scan.c
index 0cda6e5..b0c4137 100644
--- a/tools/mail-scan.c
+++ b/tools/mail-scan.c
@@ -31,7 +31,7 @@
#include <stdio.h> /* perror */
#include <boost/regex.hpp>
-////#include <boost/lexical_cast.hpp>
+#include "utils.h"
using namespace std;
@@ -105,30 +105,6 @@ int cmp_casefold(const std::string& a, const std::string& b) {
return 0;
}
-
-string toLower(const std::string& a){
- string rslt = a;
- string::iterator rr;
- for (rr = rslt.begin(); rr != rslt.end(); rr++){
- *rr = tolower(*rr);
- }
- return rslt;
-}
-
-////////////////
-string ltrim(string foo){
- size_t where = foo.find_first_not_of(" \t\r\n");
- if (where == foo.npos) return foo;
- return foo.substr(where);
-}
-
-////////////////
-// little utility to help with argument parsing:
-//
-int prefix(const string shorter, const string longer){
- return shorter == longer.substr(0, shorter.length());
-}
-
void exeunt(const int sts){
if (sts == sa_good) exit(sts);
@@ -183,6 +159,16 @@ public:
}
};
+string noCR(const string bar){
+ string foo(bar);
+ int len = foo.length();
+ if (len){
+ if (foo[len-1] == '\r') {
+ foo.erase(len-1);
+ }
+ }
+ return foo;
+}
////////////////////////////////////////////////////////////
int main(int _argc, const char** _argv){
@@ -268,6 +254,7 @@ int main(int _argc, const char** _argv){
return 1;
}
if (getline(infile, line).fail()) continue;
+ line = noCR(line);
Header.push_back(line);
msgsize += line.length()+1;
if (msgsize > maxsize) {
@@ -335,9 +322,9 @@ int main(int _argc, const char** _argv){
break;
}
} // end loop over matching records in this file
+
if (vflag && !foundsome_infile) {
- cout << foundsome_infile
- << " ... " << *file << endl;
+ cout << *file << endl;
didprint++;
}
if (group_flag && didprint) cout << endl;