Mesa (master): eglinfo: Wrap extension string

Kristian Høgsberg krh at kemper.freedesktop.org
Fri Feb 26 20:12:14 UTC 2010


Module: Mesa
Branch: master
Commit: 69a0f375ccc7d455cad94cd31323667bafe08287
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=69a0f375ccc7d455cad94cd31323667bafe08287

Author: Kristian Høgsberg <krh at bitplanet.net>
Date:   Fri Feb 26 15:11:29 2010 -0500

eglinfo: Wrap extension string

---

 progs/egl/eglinfo.c |   39 +++++++++++++++++++++++++++++++++++++--
 1 files changed, 37 insertions(+), 2 deletions(-)

diff --git a/progs/egl/eglinfo.c b/progs/egl/eglinfo.c
index 37bc22e..961fd9c 100644
--- a/progs/egl/eglinfo.c
+++ b/progs/egl/eglinfo.c
@@ -156,7 +156,42 @@ PrintModes(EGLDisplay d)
 #endif
 }
 
+static void
+PrintExtensions(EGLDisplay d)
+{
+   const char *extensions, *p, *end, *next;
+   int column;
+
+   printf("EGL extensions string:\n");
 
+   extensions = eglQueryString(d, EGL_EXTENSIONS);
+
+   column = 0;
+   end = extensions + strlen(extensions);
+
+   for (p = extensions; p < end; p = next + 1) {
+      next = strchr(p, ' ');
+      if (next == NULL)
+         next = end;
+
+      if (column > 0 && column + next - p + 1 > 70) {
+	 printf("\n");
+	 column = 0;
+      }
+      if (column == 0)
+	 printf("    ");
+      else
+	 printf(" ");
+      column += next - p + 1;
+
+      printf("%.*s", (int) (next - p), p);
+
+      p = next + 1;
+   }
+
+   if (column > 0)
+      printf("\n");
+}
 
 int
 main(int argc, char *argv[])
@@ -175,8 +210,8 @@ main(int argc, char *argv[])
 #ifdef EGL_VERSION_1_2
    printf("EGL client APIs: %s\n", eglQueryString(d, EGL_CLIENT_APIS));
 #endif
-   printf("EGL extensions string:\n");
-   printf("    %s\n", eglQueryString(d, EGL_EXTENSIONS));
+
+   PrintExtensions(d);
 
    PrintConfigs(d);
 




More information about the mesa-commit mailing list