/*
 CSCI 235 lab
 */



#include <stdio.h>
#include <stdlib.h>

// Return 0 is ipName is in correct format; return non-zero otherwise
int name2num(const char *ipName, unsigned int* ipNumber) {
    *ipNumber = 0 ;
    return 1 ;
}

const char *testCase[] = {
    "152.18.69.32",
    "152.18.68.26",
    "255.255.255.255",
    "255.255.0.0",
    "0.0.0.0",
    "152.18.69",
    "152.18.69.300",
    "-152.18.69.40",
    "152.18.69.70",
    "152.18.69.0",
    "255.255.255.0"
};

int main(int argc, char** argv) {
    int i ;
    for (i=0; i<sizeof(testCase)/sizeof(testCase[0]); ++i) {
        unsigned int ipNum ;
        int rc = name2num(testCase[i], &ipNum) ;
        if (!rc) {
	    fprintf(stdout, "%-15s --> %10u (%08x)\n",
		    testCase[i], ipNum, ipNum) ;
        } else {
            fprintf(stdout, "%-15s CAN'T PARSE\n", testCase[i]) ;
        }
    }
    return (EXIT_SUCCESS);
}
