Show
Ignore:
Timestamp:
10/21/14 22:29:01 (6 years ago)
Author:
vsilva
Message:

First official release

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • middleware-offline/trunk/_src/eidmw/applayer/MiscUtil.cpp

    r256 r271  
    4747{ 
    4848 
     49const void *memmem(const void *haystack, size_t n, const void *needle, size_t m) 
     50{ 
     51    if (m > n || !m || !n) 
     52        return NULL; 
     53 
     54    if (m > 1) { 
     55        const unsigned char*  y = (const unsigned char*) haystack; 
     56        const unsigned char*  x = (const unsigned char*) needle; 
     57        size_t                j = 0; 
     58        size_t                k = 1, l = 2; 
     59 
     60        if (x[0] == x[1]) { 
     61            k = 2; 
     62            l = 1; 
     63        } 
     64        while (j <= n-m) { 
     65            if (x[1] != y[j+1]) { 
     66                j += k; 
     67            } else { 
     68                if (!memcmp(x+2, y+j+2, m-2) && x[0] == y[j]) 
     69                    return (void*) &y[j]; 
     70                j += l; 
     71            } 
     72        } 
     73    } else { 
     74        /* degenerate case */ 
     75        return memchr(haystack, ((unsigned char*)needle)[0], n); 
     76    } 
     77    return NULL; 
     78} 
     79 
    4980#ifdef WIN32 
    5081        char *Basename(char *absolute_path) 
     
    6394        { 
    6495                int fh = 0, result = 0; 
    65                 unsigned int nbytes = BUFSIZ; 
    6696 
    6797                /* This replicates the use of truncate() on Unix */ 
    68                 if (fh = _sopen(path, _O_RDWR, _S_IWRITE) == 0) 
     98                if ((fh = _sopen(path, _O_RDWR, _S_IWRITE)) == NULL) 
    6999                { 
    70100                        if (( result = _chsize(fh, 0)) == 0) 
     
    256286        if(strlen(dirIn)==0) 
    257287                return; 
     288 
     289        fprintf(stderr, "checkDir() was called with %s\n", dirIn); 
    258290 
    259291        std::string directory = std::string(dirIn) + PATH_SEP_STR; 
     
    305337#endif 
    306338                { 
    307                         printf("The path '%s' does not exist.\nCreate it or change the config parameter\n",dirIn); 
     339                        fprintf(stderr, "The path '%s' does not exist.\nCreate it or change the config parameter\n",dirIn); 
    308340                        throw CMWEXCEPTION(EIDMW_INVALID_PATH); 
    309341                }