I had a look at the compiler warnings shown when doing make check,
more specifically these warnings:

test.cpp: In function 'int main(int, char**)':
test.cpp:120: warning: unused variable 'obj'
test.cpp: At global scope:
test.cpp:41: warning: unused parameter 'argc'
test.cpp:41: warning: unused parameter 'argv'
test.cpp: In function 'void* NPN_GetStringIdentifier(const NPUTF8*)':
test.cpp:308: warning: no return statement in function returning non-void
test.cpp: At global scope:
test.cpp:306: warning: unused parameter 'name'
test.cpp: In function 'nsPluginInstanceBase* 
NS_NewPluginInstance(nsPluginCreateData*)':
test.cpp:313: warning: no return statement in function returning non-void
test.cpp: At global scope:
test.cpp:311: warning: unused parameter 'aCreateDataStruct'
test.cpp: In function 'NPError NS_PluginGetValue(NPPVariable, void*)':
test.cpp:318: warning: no return statement in function returning non-void
test.cpp: At global scope:
test.cpp:316: warning: unused parameter 'aVariable'
test.cpp:316: warning: unused parameter 'aValue'
test.cpp: In function 'NPError NS_PluginInitialize()':
test.cpp:323: warning: no return statement in function returning non-void
test.cpp: At global scope:
test.cpp:338: warning: unused parameter 'aPlugin'
test.cpp: In function 'bool NPN_SetProperty(NPP_t*, NPObject*, void*, const 
NPVariant*)':
test.cpp:348: warning: no return statement in function returning non-void
test.cpp: At global scope:
test.cpp:344: warning: unused parameter 'npp'
test.cpp:344: warning: unused parameter 'obj'
test.cpp:351: warning: unused parameter 'npp'
test.cpp:351: warning: unused parameter 'obj'
test.cpp:351: warning: unused parameter 'value'
test.cpp:358: warning: unused parameter 'npp'
test.cpp:358: warning: unused parameter 'obj'
test.cpp:358: warning: unused parameter 'value'
test.cpp: In function 'bool NPN_HasProperty(NPP_t*, NPObject*, void*, const 
NPVariant*)':
test.cpp:366: warning: control reaches end of non-void function

I left the unused variables alone, assume someone left them around for
a purpose, and concentrated on the non-void functions lacking return
values instead.

This patch should get rid of them.  The file have inconsistent
indentation, so I went with the indentation used directly above the
code I inserted.  Allmost all the functions with missing return values
are stubs, so I did not put much effort into generating a sensible
return value.

diff --git a/plugin/npapi/test.cpp b/plugin/npapi/test.cpp
index 9a7b639..c2b5e29 100644
--- a/plugin/npapi/test.cpp
+++ b/plugin/npapi/test.cpp
@@ -310,16 +310,19 @@ NPN_GetStringIdentifier(const NPUTF8 *name)
 nsPluginInstanceBase *
 NS_NewPluginInstance(nsPluginCreateData * aCreateDataStruct)
 {
+  return NULL;
 }

 NPError
 NS_PluginGetValue(NPPVariable aVariable, void *aValue)
 {
+  return NPERR_INVALID_INSTANCE_ERROR;
 }

 NPError
 NS_PluginInitialize()
 {
+  return NPERR_INVALID_INSTANCE_ERROR;
 }

 void
@@ -345,6 +348,7 @@ NPN_SetProperty(NPP npp, NPObject* obj, NPIdentifier name,
                      const NPVariant *value)
 {
     _properties[name] = const_cast<NPVariant *>(value);
+    return true;
 }

 bool
@@ -363,6 +367,7 @@ NPN_HasProperty(NPP npp, NPObject* obj, NPIdentifier name,
     if (it != _properties.end()) {
         return true;
     }
+    return false;
 }

 void

Does this patch make sense to you?

After the change, the warning list look like this:

test.cpp: In function 'int main(int, char**)':
test.cpp:120: warning: unused variable 'obj'
test.cpp: At global scope:
test.cpp:41: warning: unused parameter 'argc'
test.cpp:41: warning: unused parameter 'argv'
test.cpp: In function 'void* NPN_GetStringIdentifier(const NPUTF8*)':
test.cpp:308: warning: no return statement in function returning non-void
test.cpp: At global scope:
test.cpp:306: warning: unused parameter 'name'
test.cpp:311: warning: unused parameter 'aCreateDataStruct'
test.cpp:317: warning: unused parameter 'aVariable'
test.cpp:317: warning: unused parameter 'aValue'
test.cpp:341: warning: unused parameter 'aPlugin'
test.cpp:347: warning: unused parameter 'npp'
test.cpp:347: warning: unused parameter 'obj'
test.cpp:355: warning: unused parameter 'npp'
test.cpp:355: warning: unused parameter 'obj'
test.cpp:355: warning: unused parameter 'value'
test.cpp:362: warning: unused parameter 'npp'
test.cpp:362: warning: unused parameter 'obj'
test.cpp:362: warning: unused parameter 'value'

I was unable to find a useful dummy value to return from
NPN_GetStringIdentifier(), so that warning is left.

Happy hacking,
-- 
Petter Reinholdtsen

_______________________________________________
Gnash-dev mailing list
Gnash-dev@gnu.org
http://lists.gnu.org/mailman/listinfo/gnash-dev

Reply via email to