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)
|
move most sources into libp...
Stefan Schuermans authored 4 years ago
|
libpermissioner/src/StringUtils.cpp 7) #include <permissioner/StringUtils.h>
|
begin of permissioner confi...
Stefan Schuermans authored 4 years ago
|
permissionerd/src/StringUtils.cpp 8)
|
add nice and I/O idle config
Stefan Schuermans authored 4 years ago
|
libpermissioner/src/StringUtils.cpp 9) #include <cstdlib>
|
begin of permissioner confi...
Stefan Schuermans authored 4 years ago
|
permissionerd/src/StringUtils.cpp 10) #include <sstream>
|
add nice and I/O idle config
Stefan Schuermans authored 4 years ago
|
libpermissioner/src/StringUtils.cpp 11) #include <stdexcept>
|
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;
|
add nice and I/O idle config
Stefan Schuermans authored 4 years ago
|
libpermissioner/src/StringUtils.cpp 22) msg << "<" << name << "> field missing in \"" << str << "\"";
|
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) }
|
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;
|
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 "
|