From upstream git (git://git.directfb.org/git/directfb/libs/LiTE.git)

From ffe0ce78327a63ddb1265328ea9b5b03acdca019 Mon Sep 17 00:00:00 2001
From: Denis Oliver Kropp <dok@directfb.org>
Date: Fri, 1 Apr 2011 20:20:26 +0200
Subject: [PATCH] dfbspy: Build fix for dfbspy example.

---
 examples/dfbspy.c |   20 ++++++++++----------
 1 files changed, 10 insertions(+), 10 deletions(-)

diff --git a/examples/dfbspy.c b/examples/dfbspy.c
index 5f36f0b..c7f9725 100644
--- a/examples/dfbspy.c
+++ b/examples/dfbspy.c
@@ -89,9 +89,9 @@ read_stat( FusionStat *stat, int world )
 
 /**************************************************************************************************/
 
-#define CALC(x)     stat.x = (int)(((s.x - last_stat.x) * 1000 / (float) diff) + 0.5f)
+#define CALC(x)     stats.x = (int)(((s.x - last_stat.x) * 1000 / (float) diff) + 0.5f)
 
-static FusionStat last_stat, stat;
+static FusionStat last_stat, stats;
 static long long  last_millis;
 
 static int
@@ -145,14 +145,14 @@ static const struct {
      void          (*update)( LiteLabel *label, void *ctx );
      void           *ctx;
 } list[] = {
-     { "lease/purchase", update_number, &stat.lease_purchase },
-     { "cede",           update_number, &stat.cede },
-     { "attach",         update_number, &stat.attach },
-     { "detach",         update_number, &stat.detach },
-     { "ref up",         update_number, &stat.ref_up },
-     { "ref down",       update_number, &stat.ref_down },
-     { "prevail/swoop",  update_number, &stat.prevail_swoop },
-     { "dismiss",        update_number, &stat.dismiss }
+     { "lease/purchase", update_number, &stats.lease_purchase },
+     { "cede",           update_number, &stats.cede },
+     { "attach",         update_number, &stats.attach },
+     { "detach",         update_number, &stats.detach },
+     { "ref up",         update_number, &stats.ref_up },
+     { "ref down",       update_number, &stats.ref_down },
+     { "prevail/swoop",  update_number, &stats.prevail_swoop },
+     { "dismiss",        update_number, &stats.dismiss }
 };
 
 #define NUM_LIST    (sizeof(list)/sizeof(list[0]))
-- 
1.7.6.3

