diff options
Diffstat (limited to 'tools/utils.c')
| -rw-r--r-- | tools/utils.c | 17 | 
1 files changed, 13 insertions, 4 deletions
| diff --git a/tools/utils.c b/tools/utils.c index 6dbbff4..691070e 100644 --- a/tools/utils.c +++ b/tools/utils.c @@ -1,4 +1,4 @@ -#include <string> +#include "utils.h"  #include <sstream>  #include <iomanip>  #include <stdlib.h>     /* for abs() */ @@ -6,8 +6,8 @@  /////                   due to lack of interger abs()  /////                   and ambiguous (and inefficient) promotion  #include <ctype.h>      /* for isalnum() */ -using namespace std; +using namespace std;  // strip off the directory part of a path, leaving just  // the basic filename @@ -28,7 +28,6 @@ int prefix(const string shorter, const string longer){  // print a time as (-)hh:mm:ss  //  string time_out(const int _ttt){ -using namespace std;    int ttt(abs(_ttt));    int sec(ttt % 60);    int min((ttt / 60) % 60); @@ -76,7 +75,6 @@ string trim(const string foo, const string bar){  static const string Pure_Enough("+-_.,@%~");  string purify(const string arg){ -  using namespace std;    string rslt(arg);    for (string::iterator ptr = rslt.begin();          ptr != rslt.end(); ptr++){ @@ -115,3 +113,14 @@ string noCR(const string bar){    }    return foo;  } + +// sorta like Perl's join(...) +string join(const string sep, const list<string> stuff){ +  string rslt; +  for (list<string>::const_iterator ptr = stuff.begin(); +        ptr != stuff.end(); ptr++){ +    if (rslt.length()) rslt += sep; +    rslt += *ptr; +  } +  return rslt; +} | 
