Module: Mesa
Branch: glsl-pp-rework-2
Commit: 32966991c629fa43818f42912deb9deca913ef60
URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=32966991c629fa43818f42912deb9deca913ef60

Author: Michal Krol <[email protected]>
Date:   Wed Sep 23 09:33:12 2009 +0200

glsl/pp: Check for reserved macro names.

---

 src/glsl/pp/sl_pp_define.c |   16 ++++++++++++++++
 1 files changed, 16 insertions(+), 0 deletions(-)

diff --git a/src/glsl/pp/sl_pp_define.c b/src/glsl/pp/sl_pp_define.c
index 391178a..d18a7ee 100644
--- a/src/glsl/pp/sl_pp_define.c
+++ b/src/glsl/pp/sl_pp_define.c
@@ -26,7 +26,9 @@
  **************************************************************************/
 
 #include <stdlib.h>
+#include <string.h>
 #include "sl_pp_process.h"
+#include "sl_pp_public.h"
 
 
 static void
@@ -126,6 +128,20 @@ sl_pp_process_define(struct sl_pp_context *context,
       return -1;
    }
 
+   /* Check for reserved macro names */
+   {
+      const char *name = sl_pp_context_cstr(context, macro_name);
+
+      if (strstr(name, "__")) {
+         strcpy(context->error_msg, "macro names containing `__' are 
reserved");
+         return 1;
+      }
+      if (name[0] == 'G' && name[1] == 'L' && name[2] == '_') {
+         strcpy(context->error_msg, "macro names prefixed with `GL_' are 
reserved");
+         return 1;
+      }
+   }
+
    for (macro = context->macro; macro; macro = macro->next) {
       if (macro->name == macro_name) {
          break;

_______________________________________________
mesa-commit mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/mesa-commit

Reply via email to