Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 5a1516b

Browse files
committed
Only output the buffer size error label if it is used.
Shuts up another couple of gcc warnings.
1 parent 703ad70 commit 5a1516b

2 files changed

Lines changed: 7 additions & 3 deletions

File tree

Tools/bgen/bgen/bgenBuffer.py

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@ def __init__(self, size, datatype = 'char', sizetype = 'int', sizeformat = None)
3636
self.datatype = datatype
3737
self.sizetype = sizetype
3838
self.sizeformat = sizeformat or type2format[sizetype]
39+
self.label_needed = 0
3940

4041
def declare(self, name):
4142
self.declareBuffer(name)
@@ -67,6 +68,7 @@ def getargsCheck(self, name):
6768
Output('PyErr_SetString(PyExc_TypeError, "buffer length should be %s");',
6869
self.size)
6970
Output("goto %s__error__;", name)
71+
self.label_needed = 1
7072
OutRbrace()
7173
self.transferSize(name)
7274

@@ -83,9 +85,10 @@ def mkvalueArgs(self, name):
8385
return "%s__out__, (int)%s" % (name, self.size)
8486

8587
def cleanup(self, name):
86-
DedentLevel()
87-
Output(" %s__error__: ;", name)
88-
IndentLevel()
88+
if self.label_needed:
89+
DedentLevel()
90+
Output(" %s__error__: ;", name)
91+
IndentLevel()
8992

9093

9194
class FixedCombinedInputOutputBufferType(FixedInputOutputBufferType):

Tools/bgen/bgen/bgenHeapBuffer.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ def getargsCheck(self, name):
2424
OutLbrace()
2525
Output('PyErr_NoMemory();')
2626
Output("goto %s__error__;", name)
27+
self.label_needed = 1
2728
OutRbrace()
2829
Output("%s__len__ = %s__in_len__;", name, name)
2930

0 commit comments

Comments
 (0)