{
FILE *out = stdout;
char *outf = NULL, outft[MAXPATHLEN], *p;
- char buf[MACHINE_NAME_SIZE + ALIAS_NAME_SIZE];
struct stat sb;
struct timeval now;
int flag1, flag2, i;
name[i - 8] = 0;
if ((p = hash_lookup(aliases, id)))
{
- sprintf(buf, "%s,%s", p, name);
- hash_update(aliases, id, strdup(buf));
- free(p);
+ p = realloc(p, strlen(p) + strlen(name) + 2);
+ sprintf(strchr(p, '\0'), ",%s", name);
+ hash_update(aliases, id, p);
}
else
hash_store(aliases, id, strdup(name));
strtrim(addr);
if (*addr == 0 || inet_addr(addr) == -1)
continue;
+ fprintf(out, "HOST : %s : %s", addr, name);
if ((p = hash_lookup(aliases, id)))
- sprintf(buf, "%s,%s", name, p);
- else
- strcpy(buf, name);
- fprintf(out, "HOST : %s : %s : ", addr, buf);
+ fprintf(out, ",%s", p);
if ((*vendor || *model) && *os)
{
if (*vendor && *model)
- fprintf(out, "%s/%s : %s :\n", vendor, model, os);
+ fprintf(out, " : %s/%s : %s :\n", vendor, model, os);
else
- fprintf(out, "%s%s : %s :\n", vendor, model, os);
+ fprintf(out, " : %s%s : %s :\n", vendor, model, os);
}
else
- fputs("\n", out);
+ fputs(" : \n", out);
}
EXEC SQL CLOSE x;