uuidgen2: libpduuid.a uuidgen2.o
$(CC) $(CFLAGS) -Wall -L. -o $@ uuidgen2.o -lpduuid $(LDFLAGS)
-uuidgen: libpduuid.a uuidgen.o
- $(CC) $(CFLAGS) -Wall -L. -o $@ uuidgen.o -lpduuid $(LDFLAGS)
+uuidgen: libpduuid.a uuidgen.o warn.o
+ $(CC) $(CFLAGS) -Wall -L. -o $@ uuidgen.o warn.o -lpduuid $(LDFLAGS)
clean:
rm -f *.o *.a uuidgen postgres/*.o postgres/*.so
#include <string.h>
#include "pduuid.h"
+#include "warn.h"
void print_help() {
printf("uuidgen [-rthV]\n");
pd_uuid_t u; /* generated uuid */
pd_uuid_t nsuuid; /* namespace uuid */
pd_uuid_t *nsid = 0; /* pointer to namespace uuid */
- char *ns; /* literal ns id string */
+ char *ns = 0; /* literal ns id string */
struct pd_uuid_state s;
char uuid[PD_UUID_STRLEN+1];
q = atoi(optarg);
break;
default:
- fprintf(stderr,
- "uuidgen: unknown option '%c'\n",
- opt);
+ warn("uuidgen: unknown option '%c'", opt);
print_help();
exit(EXIT_FAILURE);
}
/* TODO warn if q != 1 */
int len;
if (!nsid) {
+ if (!ns) {
+ die("must specify namespace for version %d uuids", mode);
+ }
if (!strcmp(ns, "dns")) {
nsid = &pd_uuid_ns_dns;
} else if (!strcmp(ns, "url")) {
} else {
nsid = &nsuuid;
if (pd_uuid_set_string(nsid, ns) != 0) {
- fprintf(stderr, "malformed ns uuid: %s\n", ns);
- exit(EXIT_FAILURE);
+ die("malformed ns uuid: %s\n", ns);
}
}
}
pd_uuid_make_v4(&s, &u);
break;
default:
- fprintf(stderr,
- "uuidgen: unknown uuid version '%d'\n",
- mode);
- exit(EXIT_FAILURE);
+ die("uuidgen: unknown uuid version '%d'\n", mode);
}
pd_uuid_get_string(&u, uuid);
printf("%s\n", uuid);