MEDIUM: samples: Use the "struct sample_data" in the "struct sample"

This patch remove the struct information stored both in the struct
sample_data and in the striuct sample. Now, only thestruct sample_data
contains data, and the struct sample use the struct sample_data for storing
his own data.
diff --git a/src/backend.c b/src/backend.c
index 9e8e9b6..adfd388 100644
--- a/src/backend.c
+++ b/src/backend.c
@@ -476,7 +476,7 @@
 	b_rew(s->req.buf, rewind = s->req.buf->o);
 
 	ret = fetch_rdp_cookie_name(s, &smp, px->hh_name, px->hh_len);
-	len = smp.data.str.len;
+	len = smp.data.data.str.len;
 
 	b_adv(s->req.buf, rewind);
 
@@ -490,7 +490,7 @@
 	/* Found a the hh_name in the headers.
 	 * we will compute the hash based on this value ctx.val.
 	 */
-	hash = gen_hash(px, smp.data.str.str, len);
+	hash = gen_hash(px, smp.data.data.str.str, len);
 
 	if ((px->lbprm.algo & BE_LB_HASH_MOD) == BE_LB_HMOD_AVAL)
 		hash = full_hash(hash);
@@ -1218,10 +1218,10 @@
 			if (smp) {
 				/* get write access to terminate with a zero */
 				smp_dup(smp);
-				if (smp->data.str.len >= smp->data.str.size)
-					smp->data.str.len = smp->data.str.size - 1;
-				smp->data.str.str[smp->data.str.len] = 0;
-				ssl_sock_set_servername(srv_conn, smp->data.str.str);
+				if (smp->data.data.str.len >= smp->data.data.str.size)
+					smp->data.data.str.len = smp->data.data.str.size - 1;
+				smp->data.data.str.str[smp->data.data.str.len] = 0;
+				ssl_sock_set_servername(srv_conn, smp->data.data.str.str);
 				srv_conn->flags |= CO_FL_PRIVATE;
 			}
 		}
@@ -1361,14 +1361,14 @@
 	memset(&smp, 0, sizeof(smp));
 
 	ret = fetch_rdp_cookie_name(s, &smp, s->be->rdp_cookie_name, s->be->rdp_cookie_len);
-	if (ret == 0 || (smp.flags & SMP_F_MAY_CHANGE) || smp.data.str.len == 0)
+	if (ret == 0 || (smp.flags & SMP_F_MAY_CHANGE) || smp.data.data.str.len == 0)
 		goto no_cookie;
 
 	memset(&addr, 0, sizeof(addr));
 	addr.sin_family = AF_INET;
 
 	/* Considering an rdp cookie detected using acl, str ended with <cr><lf> and should return */
-	addr.sin_addr.s_addr = strtoul(smp.data.str.str, &p, 10);
+	addr.sin_addr.s_addr = strtoul(smp.data.data.str.str, &p, 10);
 	if (*p != '.')
 		goto no_cookie;
 	p++;
@@ -1602,15 +1602,15 @@
 	struct proxy *px;
 
 	smp->flags = SMP_F_VOL_TEST;
-	smp->type = SMP_T_SINT;
+	smp->data.type = SMP_T_SINT;
 	px = args->data.prx;
 
 	if (px->srv_act)
-		smp->data.sint = px->srv_act;
+		smp->data.data.sint = px->srv_act;
 	else if (px->lbprm.fbck)
-		smp->data.sint = 1;
+		smp->data.data.sint = 1;
 	else
-		smp->data.sint = px->srv_bck;
+		smp->data.data.sint = px->srv_bck;
 
 	return 1;
 }
@@ -1626,12 +1626,12 @@
 	struct server *srv = args->data.srv;
 
 	smp->flags = SMP_F_VOL_TEST;
-	smp->type = SMP_T_BOOL;
+	smp->data.type = SMP_T_BOOL;
 	if (!(srv->admin & SRV_ADMF_MAINT) &&
 	    (!(srv->check.state & CHK_ST_CONFIGURED) || (srv->state != SRV_ST_STOPPED)))
-		smp->data.sint = 1;
+		smp->data.data.sint = 1;
 	else
-		smp->data.sint = 0;
+		smp->data.data.sint = 0;
 	return 1;
 }
 
@@ -1645,8 +1645,8 @@
 	struct server *iterator;
 
 	smp->flags = SMP_F_VOL_TEST;
-	smp->type = SMP_T_SINT;
-	smp->data.sint = 0;
+	smp->data.type = SMP_T_SINT;
+	smp->data.data.sint = 0;
 
 	for (iterator = args->data.prx->srv; iterator; iterator = iterator->next) {
 		if (iterator->state == SRV_ST_STOPPED)
@@ -1654,11 +1654,11 @@
 
 		if (iterator->maxconn == 0 || iterator->maxqueue == 0) {
 			/* configuration is stupid */
-			smp->data.sint = -1;  /* FIXME: stupid value! */
+			smp->data.data.sint = -1;  /* FIXME: stupid value! */
 			return 1;
 		}
 
-		smp->data.sint += (iterator->maxconn - iterator->cur_sess)
+		smp->data.data.sint += (iterator->maxconn - iterator->cur_sess)
 		                       +  (iterator->maxqueue - iterator->nbpend);
 	}
 
@@ -1670,8 +1670,8 @@
 smp_fetch_be_id(const struct arg *args, struct sample *smp, const char *kw, void *private)
 {
 	smp->flags = SMP_F_VOL_TXN;
-	smp->type = SMP_T_SINT;
-	smp->data.sint = smp->strm->be->uuid;
+	smp->data.type = SMP_T_SINT;
+	smp->data.data.sint = smp->strm->be->uuid;
 	return 1;
 }
 
@@ -1682,8 +1682,8 @@
 	if (!objt_server(smp->strm->target))
 		return 0;
 
-	smp->type = SMP_T_SINT;
-	smp->data.sint = objt_server(smp->strm->target)->puid;
+	smp->data.type = SMP_T_SINT;
+	smp->data.data.sint = objt_server(smp->strm->target)->puid;
 
 	return 1;
 }
@@ -1696,8 +1696,8 @@
 smp_fetch_be_sess_rate(const struct arg *args, struct sample *smp, const char *kw, void *private)
 {
 	smp->flags = SMP_F_VOL_TEST;
-	smp->type = SMP_T_SINT;
-	smp->data.sint = read_freq_ctr(&args->data.prx->be_sess_per_sec);
+	smp->data.type = SMP_T_SINT;
+	smp->data.data.sint = read_freq_ctr(&args->data.prx->be_sess_per_sec);
 	return 1;
 }
 
@@ -1709,8 +1709,8 @@
 smp_fetch_be_conn(const struct arg *args, struct sample *smp, const char *kw, void *private)
 {
 	smp->flags = SMP_F_VOL_TEST;
-	smp->type = SMP_T_SINT;
-	smp->data.sint = args->data.prx->beconn;
+	smp->data.type = SMP_T_SINT;
+	smp->data.data.sint = args->data.prx->beconn;
 	return 1;
 }
 
@@ -1722,8 +1722,8 @@
 smp_fetch_queue_size(const struct arg *args, struct sample *smp, const char *kw, void *private)
 {
 	smp->flags = SMP_F_VOL_TEST;
-	smp->type = SMP_T_SINT;
-	smp->data.sint = args->data.prx->totpend;
+	smp->data.type = SMP_T_SINT;
+	smp->data.data.sint = args->data.prx->totpend;
 	return 1;
 }
 
@@ -1742,7 +1742,7 @@
 	struct proxy *px;
 
 	smp->flags = SMP_F_VOL_TEST;
-	smp->type = SMP_T_SINT;
+	smp->data.type = SMP_T_SINT;
 	px = args->data.prx;
 
 	if (px->srv_act)
@@ -1753,9 +1753,9 @@
 		nbsrv = px->srv_bck;
 
 	if (nbsrv > 0)
-		smp->data.sint = (px->totpend + nbsrv - 1) / nbsrv;
+		smp->data.data.sint = (px->totpend + nbsrv - 1) / nbsrv;
 	else
-		smp->data.sint = px->totpend * 2;
+		smp->data.data.sint = px->totpend * 2;
 
 	return 1;
 }
@@ -1768,8 +1768,8 @@
 smp_fetch_srv_conn(const struct arg *args, struct sample *smp, const char *kw, void *private)
 {
 	smp->flags = SMP_F_VOL_TEST;
-	smp->type = SMP_T_SINT;
-	smp->data.sint = args->data.srv->cur_sess;
+	smp->data.type = SMP_T_SINT;
+	smp->data.data.sint = args->data.srv->cur_sess;
 	return 1;
 }
 
@@ -1781,8 +1781,8 @@
 smp_fetch_srv_sess_rate(const struct arg *args, struct sample *smp, const char *kw, void *private)
 {
 	smp->flags = SMP_F_VOL_TEST;
-	smp->type = SMP_T_SINT;
-	smp->data.sint = read_freq_ctr(&args->data.srv->sess_per_sec);
+	smp->data.type = SMP_T_SINT;
+	smp->data.data.sint = read_freq_ctr(&args->data.srv->sess_per_sec);
 	return 1;
 }