My broken inet_aton()

This is a discussion on My broken inet_aton() within the Networking/Device Communication forums, part of the General Programming Boards category; This is my inet_aton: Code: // inet_aton for windows int inet_aton(const char *address, struct in_addr *sock){ int s; s = ...

  1. #1
    WDT
    WDT is offline
    Tha 1 Sick RAT
    Join Date
    Dec 2003
    Posts
    271

    My broken inet_aton()

    This is my inet_aton:
    Code:
    // inet_aton for windows
    int inet_aton(const char *address, struct in_addr *sock){
        
        int s;
        s = inet_addr(address);
        if ( s == 1 && strcmp (address, "255.255.255.225") )
        return 0;
        sock->s_addr = s;
        
        return 1;
    }
    This is how I'm trying to use it:
    Code:
    inet_aton(s_address.c_str(), &cSock.sin_addr);
    but I keep getting this error: 41 C:\Dev-Cpp\... invalid conversion from `const char*' to `char*' , but I don't fully understand where I'm going wrong here. I do know that cont strings are unmodifiable unless you remove their "const-ness" with a casting operator (which I don't want to get in to) so I tried getting around this problem by copying the string to a temporary buffer to no avail. any light shed will be appreciated. even if it's something obvious I'm over looking atm.
    Thanks
    A hundred Elephants can knock down the walls of a fortress... One diseased rat can kill everyone inside

  2. #2
    Kernel hacker
    Join Date
    Jul 2007
    Location
    Farncombe, Surrey, England
    Posts
    15,677
    It's not clear which is "line 41" in the code you posted.

    According to what I can see, all the functions involved take a const char *, so we need to understand which line it is that is causing the problem.

    --
    Mats
    Compilers can produce warnings - make the compiler programmers happy: Use them!
    Please don't PM me for help - and no, I don't do help over instant messengers.

  3. #3
    WDT
    WDT is offline
    Tha 1 Sick RAT
    Join Date
    Dec 2003
    Posts
    271
    Code:
     inet_aton(s_address.c_str(), &cSock.sin_addr);
    is line 41
    A hundred Elephants can knock down the walls of a fortress... One diseased rat can kill everyone inside

  4. #4
    CSharpener vart's Avatar
    Join Date
    Oct 2006
    Location
    Rishon LeZion, Israel
    Posts
    6,484
    are you sure your inet_aton function declared in every place the same way accepting const char* as a first parameter. Seems like it is declared somewhere in the header in another way
    The first 90% of a project takes 90% of the time,
    the last 10% takes the other 90% of the time.

  5. #5
    int x = *((int *) NULL); Cactus_Hugger's Avatar
    Join Date
    Jul 2003
    Location
    Banks of the River Styx
    Posts
    902
    Quote Originally Posted by WDT View Post
    This is my inet_aton:
    Code:
    // inet_aton for windows
    int inet_aton(const char *address, struct in_addr *sock){
        
        int s;
        s = inet_addr(address);
        if ( s == 1 && strcmp (address, "255.255.255.225") )
        return 0;
        sock->s_addr = s;
        
        return 1;
    }
    What are the lines in red supposed to do?
    1 is a valid return value from inet_addr - the only special case you should be checking for is if inet_addr returns INADDR_NONE.
    long time; /* know C? */
    Unprecedented performance: Nothing ever ran this slow before.
    Any sufficiently advanced bug is indistinguishable from a feature.
    Real Programmers confuse Halloween and Christmas, because dec 25 == oct 31.
    The best way to accelerate an IBM is at 9.8 m/s/s.
    recursion (re - cur' - zhun) n. 1. (see recursion)

Popular pages Recent additions subscribe to a feed

Similar Threads

  1. This CD Drive is broken?
    By alphaoide in forum Tech Board
    Replies: 3
    Last Post: 06-04-2005, 03:59 PM
  2. Is this a valid use of C++, or have I completely broken some major rules?
    By Lithorien in forum A Brief History of Cprogramming.com
    Replies: 15
    Last Post: 12-14-2004, 05:43 PM
  3. undeclared identifier problem
    By jjj93421 in forum C++ Programming
    Replies: 13
    Last Post: 04-24-2004, 10:22 AM
  4. broken pipe
    By samps005 in forum Linux Programming
    Replies: 1
    Last Post: 05-07-2003, 10:04 PM
  5. Resume a broken download
    By Echidna in forum Windows Programming
    Replies: 2
    Last Post: 01-06-2003, 09:44 AM

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21