Commits

Josh Simmons committed 585bf1b

Explicitly cast function pointers to avoid compiler warnings.

Comments (0)

Files changed (1)

modules/StylePointerC.lua

 	return options.prefix .. "_ptrc_".. spec.FuncNamePrefix() .. func.name
 end
 
+local function GetFuncPtrType(hFile, func, typemap, spec, options)
+	return string.format("%s (%s *)(%s)",
+		common.GetFuncReturnType(func, typemap),
+		spec.GetCodegenPtrType(),
+		common.GetFuncParamList(func, typemap))
+end
+
 local function GetFuncPtrDef(hFile, func, typemap, spec, options)
 	return string.format("%s (%s *%s)(%s)",
 		common.GetFuncReturnType(func, typemap),
 end
 
 function my_style.source.WriteExtFuncLoader(hFile, func, typemap, spec, options)
-	hFile:fmt('%s = %s("%s%s");\n',
+	hFile:fmt('%s = (%s)%s("%s%s");\n',
 		GetFuncPtrName(func, spec, options),
+		GetFuncPtrType(hFile, func, typemap, spec, options),
 		common.GetProcAddressName(spec),
 		spec.FuncNamePrefix(), func.name)
 	hFile:fmt('if(!%s) numFailed++;\n', GetFuncPtrName(func, spec, options))
 end
 
 function my_style.source.WriteCoreFuncLoader(hFile, func, typemap, spec, options)
-	hFile:fmt('%s = %s("%s%s");\n',
+	hFile:fmt('%s = (%s)%s("%s%s");\n',
 		GetFuncPtrName(func, spec, options),
+		GetFuncPtrType(hFile, func, typemap, spec, options),
 		common.GetProcAddressName(spec),
 		spec.FuncNamePrefix(), func.name)
 
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.