Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016 #include "postgres_fe.h"
00017
00018 #include "libpq-fe.h"
00019
00020 int
00021 main(int argc, char *argv[])
00022 {
00023 PQconninfoOption *opts;
00024 PQconninfoOption *defs;
00025 PQconninfoOption *opt;
00026 PQconninfoOption *def;
00027 char *errmsg = NULL;
00028 bool local = true;
00029
00030 if (argc != 2)
00031 return 1;
00032
00033 opts = PQconninfoParse(argv[1], &errmsg);
00034 if (opts == NULL)
00035 {
00036 fprintf(stderr, "uri-regress: %s\n", errmsg);
00037 return 1;
00038 }
00039
00040 defs = PQconndefaults();
00041 if (defs == NULL)
00042 {
00043 fprintf(stderr, "uri-regress: cannot fetch default options\n");
00044 return 1;
00045 }
00046
00047
00048
00049
00050
00051
00052
00053 for (opt = opts, def = defs; opt->keyword; ++opt, ++def)
00054 {
00055 if (opt->val != NULL)
00056 {
00057 if (def->val == NULL || strcmp(opt->val, def->val) != 0)
00058 printf("%s='%s' ", opt->keyword, opt->val);
00059
00060
00061
00062
00063
00064
00065
00066
00067
00068
00069 if (*opt->val &&
00070 (strcmp(opt->keyword, "hostaddr") == 0 ||
00071 (strcmp(opt->keyword, "host") == 0 && *opt->val != '/')))
00072 {
00073 local = false;
00074 }
00075 }
00076 }
00077
00078 if (local)
00079 printf("(local)\n");
00080 else
00081 printf("(inet)\n");
00082
00083 return 0;
00084 }