Advertisement
Johurt

[FNC] IsCorrectIP

Oct 28th, 2012
347
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 1.19 KB | None | 0 0
  1. stock IsCorrectIP(ip[]) // By Johurt
  2. {
  3.     new dot[3], str[4][4];
  4.     if(7 < strlen(ip) > 15) return false;
  5.     for(new len = 0; len < 5; len++)
  6.     {
  7.         if(len > 3) return false;
  8.         if(len != 0) { if(ip[len] == '.') { dot[0] = len + 1; break; } }
  9.     }
  10.     for(new len = dot[0]; len < (dot[0] + 5); len++)
  11.     {
  12.         if(len > dot[0] + 3) return false;
  13.         if(len != dot[0]) { if(ip[len] == '.') { dot[1] = len + 1; break; } }
  14.     }
  15.     for(new len = dot[1]; len < (dot[1] + 5); len++)
  16.     {
  17.         if(len > dot[1] + 3) return false;
  18.         if(len != dot[1]) { if(ip[len] == '.') { dot[2] = len + 1; break; } }
  19.     }
  20.     strmid(str[0], ip, 0, dot[0] - 1);
  21.     strmid(str[1], ip, dot[0], dot[1] - 1);
  22.     strmid(str[2], ip, dot[1], dot[2] - 1);
  23.     strmid(str[3], ip, dot[2], 15);
  24.     for(new s = 0; s < 4; s++) { if(!IsNumeric(str[s])) return false; }
  25.     return true;
  26. }
  27.  
  28. stock IsNumeric(const string[]) // by Mike
  29. {
  30.     for(new i = 0, j = strlen(string); i < j; i++) if(string[i] > '9' || string[i] < '0') return 0;
  31.     return 1;
  32. }
  33.  
  34. public OnGameModeInit()
  35. {
  36.     printf("IP is: %s", IsCorrectIP("101.102.103.104") ? ("Correct") : ("Incorrect"));
  37.     printf("IP is: %s", IsCorrectIP("101.102.1c3.104") ? ("Correct") : ("Incorrect"));
  38.     return 1;
  39. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement