Author: Philip Jenvey <pjen...@underboss.org>
Branch: 
Changeset: r63762:754de53974f9
Date: 2013-04-29 18:52 -0700
http://bitbucket.org/pypy/pypy/changeset/754de53974f9/

Log:    add a DefinedConstantString helper

diff --git a/rpython/rtyper/tool/rffi_platform.py 
b/rpython/rtyper/tool/rffi_platform.py
--- a/rpython/rtyper/tool/rffi_platform.py
+++ b/rpython/rtyper/tool/rffi_platform.py
@@ -61,6 +61,12 @@
         DEFINED = DefinedConstantInteger(macro)
     return configure(CConfig)['DEFINED']
 
+def getdefinedstring(macro, c_header_source):
+    class CConfig:
+        _compilation_info_ = eci_from_header(c_header_source)
+        DEFINED = DefinedConstantString(macro)
+    return configure(CConfig)['DEFINED']
+
 def getintegerfunctionresult(function, args=None, c_header_source='', 
includes=[]):
     class CConfig:
         _compilation_info_ = eci_from_header(c_header_source)
diff --git a/rpython/rtyper/tool/test/test_rffi_platform.py 
b/rpython/rtyper/tool/test/test_rffi_platform.py
--- a/rpython/rtyper/tool/test/test_rffi_platform.py
+++ b/rpython/rtyper/tool/test/test_rffi_platform.py
@@ -126,6 +126,13 @@
     value = rffi_platform.getdefineddouble('BLAH', '#define BLAH (double)0/0')
     assert isnan(value)
 
+def test_defined_constant_string():
+    value = rffi_platform.getdefinedstring('MCDONC', '')
+    assert value is None
+    value = rffi_platform.getdefinedstring('RAYDEO',
+                                           '#define RAYDEO "Michael Merickel"')
+    assert value == 'Michael Merickel'
+
 def test_getintegerfunctionresult():
     func = 'int sum(int a, int b) {return a + b;}'
     value = rffi_platform.getintegerfunctionresult('sum', [6, 7], func)
_______________________________________________
pypy-commit mailing list
pypy-commit@python.org
http://mail.python.org/mailman/listinfo/pypy-commit

Reply via email to