Changeset 7 in libcf++ for trunk/src


Ignore:
Timestamp:
03/29/15 16:30:07 (9 years ago)
Author:
cheese
Message:

#1 fix and add interfaces

Location:
trunk/src
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/bin.cpp

    r4 r7  
    1010
    1111cf::bin::bin(const cf::uint8_t * in,
    12              const cf::size_t size)
     12             const cf::size_t length)
    1313{
    14     set(in, size);
     14    set(in, length);
    1515}
    1616
     
    5555
    5656cf::void_t cf::bin::set(const cf::uint8_t * in,
    57                         const cf::size_t size)
     57                        const cf::size_t length)
    5858{
    5959    if (!in)
    6060        return;
    6161
    62     resize(size);
    63     memcpy(buffer(), in, size);
     62    resize(length);
     63    memcpy(buffer(), in, length);
    6464}
    6565
     
    123123
    124124cf::size_t cf::bin::find(const cf::uint8_t * in,
    125                          const cf::size_t size) const
     125                         const cf::size_t length) const
    126126{
    127     cf::size_t limit = this->size() - size;
     127    cf::size_t limit = size() - length;
    128128
    129129    if (limit < 0 || !in)
    130130        return -1;
    131131
    132     for (cf::size_t iter = 0, iterIn = 0 ; iter <= limit ; iter++)
     132    for (cf::size_t iter = 0 ; iter <= limit ; iter++)
    133133    {
    134         for (iterIn = 0 ; iterIn < size ; iterIn++)
    135         {
    136             if (*((buffer() + iter) + iterIn) != *(in + iterIn))
    137                 break;
    138         }
    139 
    140         if (iterIn == size)
     134        if (!memcmp(buffer() + iter, in, length))
    141135            return iter;
    142136    }
  • trunk/src/codec.cpp

    r4 r7  
    2121    if (in.empty())
    2222        THROW_EXCEPTION("input is empty");
     23
    2324    try
    2425    {
  • trunk/src/logger.cpp

    r4 r7  
    4949        }
    5050
    51         filepath += STR("." << cf::task::process::id());
     51        if (option & cf::logger::PID)
     52            filepath += STR("." << cf::task::process::id());
    5253
    5354        /* FORCED : append file-extension */
  • trunk/src/network.cpp

    r6 r7  
    3939#endif
    4040
    41 #define UNUSED_SOCKET   -1
    42 
    4341/*--------------------------------------------------------------*/
    4442/**
     
    6260}
    6361
    64 static cf::void_t setNonBlocking(const cf::socket_t sock,
    65                                  const cf::bool_t flag)
    66 {
    67 #ifdef _ON_WINDOWS
    68     cf::ulong_t mode = flag ? 1 : 0;
    69     ioctlsocket(sock, FIONBIO, &mode);
    70 #else
    71     cf::int32_t mode = fcntl(sock, F_GETFL, 0);
    72 
    73     if (flag)   mode |=  O_NONBLOCK;
    74     else        mode &= ~O_NONBLOCK;
    75 
    76     fcntl(sock, F_SETFL, mode);
    77 #endif
    78 }
    79 
    8062static cf::void_t waitForTimeout(const cf::socket_t sock,
    8163                                 const cf::int32_t timeout,
     
    206188{
    207189    close();
     190}
     191
     192cf::socket_t cf::network::tcp::descriptor() const
     193{
     194    return mSocket;
    208195}
    209196
     
    348335        THROW_EXCEPTION("has invalid socket");
    349336
    350     close();
    351 
    352337    mSocket = sock;
    353338}
     
    477462}
    478463
     464cf::void_t cf::network::tcp::setNonBlocking(const cf::bool_t flag)
     465{
     466#ifdef _ON_WINDOWS
     467    cf::ulong_t mode = flag ? 1 : 0;
     468    ioctlsocket(mSocket, FIONBIO, &mode);
     469#else
     470    cf::int32_t mode = fcntl(mSocket, F_GETFL, 0);
     471
     472    if (flag)   mode |=  O_NONBLOCK;
     473    else        mode &= ~O_NONBLOCK;
     474
     475    fcntl(mSocket, F_SETFL, mode);
     476#endif
     477}
     478
    479479cf::void_t cf::network::tcp::setTimeout(const cf::int32_t seconds)
    480480{
    481     setNonBlocking(mSocket, seconds > 0 /*? true : false*/);
     481    setNonBlocking(seconds > 0 /*? true : false*/);
    482482    mTimeout = seconds;
    483483}
     
    535535    return std::string(asciiz);
    536536}
     537
     538
     539cf::uint32_t cf::network::byteOrder::htonl(cf::uint32_t in)
     540{
     541    return htonl(in);
     542}
     543
     544cf::uint16_t cf::network::byteOrder::htons(cf::uint16_t in)
     545{
     546    return htons(in);
     547}
     548
     549cf::uint32_t cf::network::byteOrder::ntohl(cf::uint32_t in)
     550{
     551    return ntohl(in);
     552}
     553
     554cf::uint16_t cf::network::byteOrder::ntohs(cf::uint16_t in)
     555{
     556    return ntohs(in);
     557}
Note: See TracChangeset for help on using the changeset viewer.