[master] e1cde63 Try to fix solaris compile nit
Poul-Henning Kamp
phk at FreeBSD.org
Tue May 23 20:20:05 CEST 2017
commit e1cde638076b386c0e03dd5a7e93fabc87db296a
Author: Poul-Henning Kamp <phk at FreeBSD.org>
Date: Tue May 23 18:19:02 2017 +0000
Try to fix solaris compile nit
diff --git a/lib/libvarnishapi/vjsn.c b/lib/libvarnishapi/vjsn.c
index d3d5f30..4a8b001 100644
--- a/lib/libvarnishapi/vjsn.c
+++ b/lib/libvarnishapi/vjsn.c
@@ -436,7 +436,7 @@ vjsn_dump_i(const struct vjsn_val *jsv, FILE *fo, int indent)
printf(" <%s", jsv->value);
else
printf(" <%.10s[...#%zu]",
- jsv->value, strlen(jsv->value) - 10L);
+ jsv->value, strlen(jsv->value + 10));
printf(">");
}
printf("\n");
diff --git a/lib/libvarnishapi/vsc.c b/lib/libvarnishapi/vsc.c
index 725a5f7..08948d6 100644
--- a/lib/libvarnishapi/vsc.c
+++ b/lib/libvarnishapi/vsc.c
@@ -34,6 +34,7 @@
#include <fnmatch.h>
#include <stdint.h>
+#include <stdio.h>
#include <stdlib.h>
#include <string.h>
@@ -41,7 +42,9 @@
#include "vas.h"
#include "miniobj.h"
#include "vqueue.h"
+#include "vjsn.h"
#include "vsb.h"
+#include "vend.h"
#include "vapi/vsc.h"
#include "vapi/vsm.h"
@@ -314,9 +317,25 @@ vsc_add_pt(struct vsc *vsc, const volatile void *ptr,
*/
static void
+vsc_build_old_vf_list(struct vsc *vsc)
+{
+#define VSC_TYPE_F(n,t,l,e,d) \
+ if (!strcmp(vsc->iter_fantom.type, t)) \
+ vsc_add_vf(vsc, &vsc->iter_fantom, \
+ &VSC_type_desc_##n, VSC_type_order_##n);
+#include "tbl/vsc_types.h"
+}
+
+#include <stdio.h>
+
+static void
vsc_build_vf_list(struct VSM_data *vd)
{
+ uint64_t u;
struct vsc *vsc = vsc_setup(vd);
+ struct vjsn *vj;
+ const char *p;
+ const char *e;
vsc_delete_pt_list(&vsc->pt_list);
vsc_delete_vf_list(&vsc->vf_list);
@@ -324,11 +343,20 @@ vsc_build_vf_list(struct VSM_data *vd)
VSM_FOREACH(&vsc->iter_fantom, vd) {
if (strcmp(vsc->iter_fantom.class, VSC_CLASS))
continue;
-#define VSC_TYPE_F(n,t,l,e,d) \
- if (!strcmp(vsc->iter_fantom.type, t)) \
- vsc_add_vf(vsc, &vsc->iter_fantom, \
- &VSC_type_desc_##n, VSC_type_order_##n);
-#include "tbl/vsc_types.h"
+ u = vbe64dec(vsc->iter_fantom.b);
+ vsc_build_old_vf_list(vsc);
+ if (u == 0) {
+ fprintf(stderr, "%s has no JSON\n", vsc->iter_fantom.type);
+ exit(2);
+ }
+ p = (char*)vsc->iter_fantom.b + u;
+ vj = vjsn_parse(p, &e);
+ if (e != NULL) {
+ fprintf(stderr, "%s\n", p);
+ fprintf(stderr, "JSON ERROR %s\n", e);
+ }
+ AZ(e);
+ //vjsn_dump(vj, stdout);
}
}
More information about the varnish-commit
mailing list