File: okclient.c

package info (click to toggle)
tinydyndns 0.4.2.debian1-4
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 1,476 kB
  • sloc: ansic: 10,262; sh: 291; makefile: 42
file content (26 lines) | stat: -rw-r--r-- 435 bytes parent folder | download | duplicates (9)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#include <sys/types.h>
#include <sys/stat.h>
#include "str.h"
#include "ip4.h"
#include "okclient.h"

static char fn[3 + IP4_FMT];

int okclient(char ip[4])
{
  struct stat st;
  int i;

  fn[0] = 'i';
  fn[1] = 'p';
  fn[2] = '/';
  fn[3 + ip4_fmt(fn + 3,ip)] = 0;

  for (;;) {
    if (stat(fn,&st) == 0) return 1;
    /* treat temporary error as rejection */
    i = str_rchr(fn,'.');
    if (!fn[i]) return 0;
    fn[i] = 0;
  }
}