[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