int listensockfd=0;
int fd=0;
+FILE* outf;
// Not all systems have timersub defined so make sure its ther
#ifndef timersub
static void emit_line() {
if (tcpport==0) {
- printf("%s",linebuf);
+ fprintf(outf,"%s",linebuf);
} else {
emit_socket();
}
gs_uint32_t tip1,tip2,tip3,tip4;
gs_sp_t instance_name;
+ char sep_str[2];
+
gs_uint32_t tlimit = 0; // time limit in seconds
time_t start_time, curr_time;
+
+ sep_str[0] = '|';
+ sep_str[1] = '\0';
gsopenlog(argv[0]);
+
+ // by default the output will go to stdout
+ outf = stdout;
-
- while ((ch = getopt(argc, argv, "l:p:r:vXD")) != -1) {
+ while ((ch = getopt(argc, argv, "l:p:r:sveXD")) != -1) {
switch (ch) {
+ case 's':
+ sep_str[0]=',';
+ break;
case 'r':
bufsz=atoi(optarg);
break;
case 'v':
verbose++;
break;
+ case 'e':
+ outf = stderr;
+ break;
case 'X':
xit++;
break;
break;
default:
usage:
- fprintf(stderr, "usage: %s [-r <bufsz>] [-p <port>] [-l <time_limit>] [-v] [-X] [-D] <gshub-hostname>:<gshub-port> <gsinstance_name> query param1 param2...\n",
+ fprintf(stderr, "usage: %s [-r <bufsz>] [-e] [-p <port>] [-l <time_limit>] [-v] [-X] [-D] <gshub-hostname>:<gshub-port> <gsinstance_name> query param1 param2...\n",
*argv);
exit(1);
}
linebuf[0]=0;
break;
}
- if (y<numberoffields-1) snprintf(&linebuf[strlen(linebuf)],MAXLINE,"|");
+// if (y<numberoffields-1) snprintf(&linebuf[strlen(linebuf)],MAXLINE,"|");
+ if (y<numberoffields-1) snprintf(&linebuf[strlen(linebuf)],MAXLINE,sep_str);
emit_line();
}
snprintf(linebuf,MAXLINE,"\n");