f86590fcbf59b9582691bc4d377d06e091dcb226
Stefan Schuermans add copyright & license

Stefan Schuermans authored 4 years ago

libpermissioner/src/StringUtils.cpp  1) /**
libpermissioner/src/StringUtils.cpp  2)  * Permissioner: set file ownerships and permissions
libpermissioner/src/StringUtils.cpp  3)  * Copyright 2020: Stefan Schuermans, Aachen, Germany <stefan@schuermans.info>
libpermissioner/src/StringUtils.cpp  4)  * Copyleft: GNU GENERAL PUBLIC LICENSE version 3 (see LICENSE)
libpermissioner/src/StringUtils.cpp  5)  */
libpermissioner/src/StringUtils.cpp  6) 
Stefan Schuermans move most sources into libp...

Stefan Schuermans authored 4 years ago

libpermissioner/src/StringUtils.cpp  7) #include <permissioner/StringUtils.h>
Stefan Schuermans begin of permissioner confi...

Stefan Schuermans authored 4 years ago

permissionerd/src/StringUtils.cpp    8) 
Stefan Schuermans add nice and I/O idle config

Stefan Schuermans authored 4 years ago

libpermissioner/src/StringUtils.cpp  9) #include <cstdlib>
Stefan Schuermans begin of permissioner confi...

Stefan Schuermans authored 4 years ago

permissionerd/src/StringUtils.cpp   10) #include <sstream>
Stefan Schuermans add nice and I/O idle config

Stefan Schuermans authored 4 years ago

libpermissioner/src/StringUtils.cpp 11) #include <stdexcept>
Stefan Schuermans begin of permissioner confi...

Stefan Schuermans authored 4 years ago

permissionerd/src/StringUtils.cpp   12) #include <string>
permissionerd/src/StringUtils.cpp   13) 
permissionerd/src/StringUtils.cpp   14) void StringUtils::getNextField(std::string const &str,
permissionerd/src/StringUtils.cpp   15)                                std::string::size_type &pos, std::string &field,
permissionerd/src/StringUtils.cpp   16)                                std::string const &name) {
permissionerd/src/StringUtils.cpp   17)   static const std::string whitespace(" \t");
permissionerd/src/StringUtils.cpp   18) 
permissionerd/src/StringUtils.cpp   19)   std::string::size_type begin = str.find_first_not_of(whitespace, pos);
permissionerd/src/StringUtils.cpp   20)   if (begin == std::string::npos) {
permissionerd/src/StringUtils.cpp   21)     std::stringstream msg;
Stefan Schuermans add nice and I/O idle config

Stefan Schuermans authored 4 years ago

libpermissioner/src/StringUtils.cpp 22)     msg << "<" << name << "> field missing in \"" << str << "\"";
Stefan Schuermans begin of permissioner confi...

Stefan Schuermans authored 4 years ago

permissionerd/src/StringUtils.cpp   23)     throw std::runtime_error(msg.str());
permissionerd/src/StringUtils.cpp   24)   }
permissionerd/src/StringUtils.cpp   25) 
permissionerd/src/StringUtils.cpp   26)   std::string::size_type end = str.find_first_of(whitespace, begin);
permissionerd/src/StringUtils.cpp   27)   if (end == std::string::npos) {
permissionerd/src/StringUtils.cpp   28)     end = str.length();
permissionerd/src/StringUtils.cpp   29)   }
permissionerd/src/StringUtils.cpp   30)   field = str.substr(begin, end - begin);
permissionerd/src/StringUtils.cpp   31) 
permissionerd/src/StringUtils.cpp   32)   pos = str.find_first_not_of(whitespace, end);
permissionerd/src/StringUtils.cpp   33)   if (pos == std::string::npos) {
permissionerd/src/StringUtils.cpp   34)     pos = str.length();
permissionerd/src/StringUtils.cpp   35)   }
permissionerd/src/StringUtils.cpp   36) }
Stefan Schuermans add nice and I/O idle config

Stefan Schuermans authored 4 years ago

libpermissioner/src/StringUtils.cpp 37) 
libpermissioner/src/StringUtils.cpp 38) long StringUtils::str2long(std::string const &str, std::string const &name) {
libpermissioner/src/StringUtils.cpp 39)   char const *c_str = str.c_str();
libpermissioner/src/StringUtils.cpp 40)   char *end;
libpermissioner/src/StringUtils.cpp 41)   long val = strtol(c_str, &end, 0);
libpermissioner/src/StringUtils.cpp 42)   if (end == c_str || *end != 0) {
libpermissioner/src/StringUtils.cpp 43)     std::stringstream msg;
libpermissioner/src/StringUtils.cpp 44)     msg << "invalid integer value \"" << str << "\" for <" << name << "> field";
libpermissioner/src/StringUtils.cpp 45)     throw std::runtime_error(msg.str());
libpermissioner/src/StringUtils.cpp 46)   }
libpermissioner/src/StringUtils.cpp 47)   return val;
libpermissioner/src/StringUtils.cpp 48) }
libpermissioner/src/StringUtils.cpp 49) 
libpermissioner/src/StringUtils.cpp 50) int StringUtils::str2intRange(std::string const &str, int minVal, int maxVal,
libpermissioner/src/StringUtils.cpp 51)                               std::string const &name) {
libpermissioner/src/StringUtils.cpp 52)   long val = str2long(str, name);
libpermissioner/src/StringUtils.cpp 53)   if (val < minVal || val > maxVal) {
libpermissioner/src/StringUtils.cpp 54)     std::stringstream msg;
Stefan Schuermans make timing configurable, s...

Stefan Schuermans authored 4 years ago

libpermissioner/src/StringUtils.cpp 55)     msg << "value " << val << " of <" << name << "> field out of range "
libpermissioner/src/StringUtils.cpp 56)         << minVal << " - " << maxVal;
libpermissioner/src/StringUtils.cpp 57)     throw std::runtime_error(msg.str());
libpermissioner/src/StringUtils.cpp 58)   }
libpermissioner/src/StringUtils.cpp 59)   return val;
libpermissioner/src/StringUtils.cpp 60) }
libpermissioner/src/StringUtils.cpp 61) 
libpermissioner/src/StringUtils.cpp 62) float StringUtils::str2float(std::string const &str, std::string const &name) {
libpermissioner/src/StringUtils.cpp 63)   char const *c_str = str.c_str();
libpermissioner/src/StringUtils.cpp 64)   char *end;
libpermissioner/src/StringUtils.cpp 65)   float val = strtof(c_str, &end);
libpermissioner/src/StringUtils.cpp 66)   if (end == c_str || *end != 0) {
libpermissioner/src/StringUtils.cpp 67)     std::stringstream msg;
libpermissioner/src/StringUtils.cpp 68)     msg << "invalid floating-point value \"" << str << "\" for <" << name
libpermissioner/src/StringUtils.cpp 69)         << "> field";
libpermissioner/src/StringUtils.cpp 70)     throw std::runtime_error(msg.str());
libpermissioner/src/StringUtils.cpp 71)   }
libpermissioner/src/StringUtils.cpp 72)   return val;
libpermissioner/src/StringUtils.cpp 73) }
libpermissioner/src/StringUtils.cpp 74) 
libpermissioner/src/StringUtils.cpp 75) float StringUtils::str2floatRange(std::string const &str, float minVal,
libpermissioner/src/StringUtils.cpp 76)                                   float maxVal, std::string const &name) {
libpermissioner/src/StringUtils.cpp 77)   float val = str2float(str, name);
libpermissioner/src/StringUtils.cpp 78)   if (val < minVal || val > maxVal) {
libpermissioner/src/StringUtils.cpp 79)     std::stringstream msg;
libpermissioner/src/StringUtils.cpp 80)     msg << "value " << val << " of <" << name << "> field out of range "