Commit 63dcbd20 authored by jan.koester's avatar jan.koester
Browse files

fixed seach function

parent 9f78159d
Loading
Loading
Loading
Loading
+15 −4
Original line number Diff line number Diff line
@@ -52,6 +52,14 @@ netplus::condata<char>::condata() : vector(){
  pos=0;
}

netplus::condata<char>::condata(const condata<char> &src) : vector(src) {
  pos=0;
}

netplus::condata<char>::condata(const std::vector<char> &src){
  pos=0;
  std::copy(src.begin(),src.end(),std::inserter<std::vector<char,condataAlloc<char>>>(*this,end()));
}

void netplus::condata<char>::resize(size_t size_c){
   size_t rs = size();
@@ -65,9 +73,9 @@ void netplus::condata<char>::append(const char* data, size_t datalen){
   std::copy(data,data+datalen,std::inserter<std::vector<char,condataAlloc<char>>>(*this,end()));
}

size_t netplus::condata<char>::search(const char* word){
size_t netplus::condata<char>::search(const char* word,size_t pos){
    size_t wsize=strlen(word);
    for(size_t i=0; i<std::vector<char,condataAlloc<char>>::size(); ++i){
    for(size_t i=pos; i<std::vector<char,condataAlloc<char>>::size(); ++i){
      for(size_t ii=0; ii<=wsize; ++ii){
        if(ii==wsize){
          return i-wsize;
@@ -82,12 +90,15 @@ size_t netplus::condata<char>::search(const char* word){
    return std::string::npos;
}


size_t netplus::condata<char>::search(const char* word){
    return search(word,0);
}

void netplus::condata<char>::push_back(char a){
  std::vector<char,condataAlloc<char>>push_back(a);
}



netplus::con::con(){
    state=0;
}
+8 −5
Original line number Diff line number Diff line
@@ -123,9 +123,12 @@ namespace netplus {
        template <> class condata<char> : public std::vector<char,condataAlloc<char>>{
        public:
            condata();
            condata(const condata<char> &src);
            condata(const std::vector<char> &src);
            void        resize(size_t size_c);
            void        append(const char *data,size_t datalen);
            size_t      search(const char *word);
            size_t      search(const char *word,size_t pos);
            void        push_back(char a);
            size_t      pos;
        };
+7 −1
Original line number Diff line number Diff line
@@ -414,6 +414,10 @@ EVENTLOOP:
    event::~event() {
    }

    void sighandler(int signal){
        raise(SIGINT);
    }

    void event::runEventloop(void *args) {
        NetException exception;

@@ -458,13 +462,15 @@ MAINWORKERLOOP:
           }
        }


        std::cout << "start" << std::endl;
        for(auto i = threadpool.begin(); i!=threadpool.end(); ++i){
            i->join();
        }

        close(_pollFD);

        std::cout << "end" << std::endl;

        if (event::_Restart) {
            event::_Restart = false;
            goto MAINWORKERLOOP;