diff --git a/wrappers/swift/genwrapper.py b/wrappers/swift/genwrapper.py index d8c563aa78362295c9bc076849067595a591258b..11a0280bb0f8bcb35740d4a1a484314bdeb1540c 100644 --- a/wrappers/swift/genwrapper.py +++ b/wrappers/swift/genwrapper.py @@ -129,10 +129,10 @@ class SwiftTranslator: methodDict['impl']['c_args'] += argName + "?.cPtr" if arg.maybenil else argName + ".cPtr" elif isinstance(arg.type, AbsApi.EnumType): argType = arg.type.translate(self.langTranslator, namespace=namespace) - if methodDict['impl']['type'] == "Int": - methodDict['impl']['c_args'] += arg.type.name + "(rawValue: CInt(" + argName + ".rawValue))" - else: + if arg.type.desc.isUnsigned: methodDict['impl']['c_args'] += arg.type.name + "(rawValue: CUnsignedInt(" + argName + ".rawValue))" + else: + methodDict['impl']['c_args'] += arg.type.name + "(rawValue: CInt(" + argName + ".rawValue))" elif arg.type.name == "size" or arg.type.name == "time": methodDict['impl']['c_args'] += argName elif argType == "Int":