Closed Bug 360165 Opened 18 years ago Closed 17 years ago

npunix.c is missing lots of function pointer copying and will break with older browsers

Categories

(Core Graveyard :: Plug-ins, defect)

x86
Linux
defect
Not set
normal

Tracking

(Not tracked)

RESOLVED FIXED

People

(Reporter: wbardwel, Assigned: wbardwel)

Details

Attachments

(1 file, 1 obsolete file)

User-Agent:       Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.7.12) Gecko/20060211 Fedora/1.0.7-1.3.fc3.legacy Firefox/1.0.7
Build Identifier: 

modules/plugin/samples/default/unix/npunix.c has various dependancies that mean that plugins built with it won't work with older browsers, and it doesn't actually copy most of the function pointers for the new functions added to the Mozilla version of the Netscape API.  Basically it is totally unusable.

Reproducible: Always

Steps to Reproduce:
1.Make a plugin using npunix.c
2.
3.



Expected Results:  
The function pointer copying code should try to copy all pointers that are actually there, no more, no less.

See also [Bug 359722]
Attachment #245128 - Flags: review?(jst)
Status: UNCONFIRMED → NEW
Ever confirmed: true
Comment on attachment 245259 [details] [diff] [review]
Revised patch that includes definitions of a bunch of the new NPN_ calls

r+sr=jst
Attachment #245259 - Flags: superreview+
Attachment #245259 - Flags: review+
Whiteboard: [checkin needed]
I take it the first patch is obsoleted by the second? Please mark it as such if so.
Assignee: nobody → wbardwel
Checked in the second patch:
mozilla/modules/plugin/samples/default/unix/npunix.c  1.12
Status: NEW → RESOLVED
Closed: 17 years ago
Resolution: --- → FIXED
Whiteboard: [checkin needed]
So you didn't compile this apparently:

http://tinderbox.mozilla.org/showlog.cgi?log=MozillaTest/1171738500.1171741196.28976.gz

Building deps for npunix.c
cc -o npunix.o -c  -DOSTYPE=\"SunOS5\" -DOSARCH=\"SunOS\" -DBUILD_ID=0000000000  -I../../../../../dist/include/java -I../../../../../dist/include   -I../../../../../dist/include/plugin -I../../../../../dist/include/nspr  -DMOZ_PNG_READ -DMOZ_PNG_WRITE  -I../../../../../dist/sdk/include    -KPIC  -xlibmil -xstrconst -xbuiltin=%all -mt  -DNDEBUG -DTRIMMED -xO4 -I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include     -DMOZILLA_VERSION=\"1.9a3pre\" -DMOZILLA_VERSION_U=1.9a3pre -DSOLARIS=1 -DNSCAP_DISABLE_DEBUG_PTR_TYPES=1 -DD_INO=d_ino -DSTDC_HEADERS=1 -DHAVE_ST_BLKSIZE=1 -DHAVE_SIGINFO_T=1 -DHAVE_INT16_T=1 -DHAVE_INT32_T=1 -DHAVE_INT64_T=1 -DHAVE_UINT=1 -DHAVE_UINT_T=1 -DHAVE_UINT16_T=1 -DHAVE_DIRENT_H=1 -DHAVE_SYS_BYTEORDER_H=1 -DHAVE_GETOPT_H=1 -DHAVE_MEMORY_H=1 -DHAVE_UNISTD_H=1 -DHAVE_NL_TYPES_H=1 -DHAVE_MALLOC_H=1 -DHAVE_X11_XKBLIB_H=1 -DHAVE_SYS_STATVFS_H=1 -DHAVE_SYS_STATFS_H=1 -DHAVE_LIBM=1 -DHAVE_LIBDL=1 -DHAVE_LIBSOCKET=1 -DFUNCPROTO=15 -DHAVE_XSHM=1 -D_REENTRANT=1 -DHAVE_RANDOM=1 -DHAVE_STRERROR=1 -DHAVE_LCHOWN=1 -DHAVE_FCHMOD=1 -DHAVE_SNPRINTF=1 -DHAVE_MEMMOVE=1 -DHAVE_RINT=1 -DHAVE_STAT64=1 -DHAVE_LSTAT64=1 -DHAVE_FLOCKFILE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_STRTOK_R=1 -DHAVE_LANGINFO_CODESET=1 -DVA_COPY=va_copy -DHAVE_VA_COPY=1 -DHAVE_I18N_LC_MESSAGES=1 -DMOZ_EMBEDDING_LEVEL_DEFAULT=1 -DMOZ_EMBEDDING_LEVEL_BASIC=1 -DMOZ_EMBEDDING_LEVEL_MINIMAL=1 -DMOZ_PHOENIX=1 -DMOZ_BUILD_APP=browser -DMOZ_XUL_APP=1 -DMOZ_DEFAULT_TOOLKIT=\"cairo-gtk2\" -DMOZ_WIDGET_GTK2=1 -DMOZ_ENABLE_XREMOTE=1 -DMOZ_THEBES=1 -DMOZ_CAIRO_GFX=1 -DMOZ_X11=1 -DMOZ_DISTRIBUTION_ID=\"org.mozilla\" -DMOZ_ENABLE_XFT=1 -DMOZ_ENABLE_PANGO=1 -DMOZ_ENABLE_COREXFONTS=1 -DMOZ_ENABLE_GNOMEUI=1 -DMOZ_ENABLE_DBUS=1 -DMOZ_EXTRA_X11CONVERTERS=1 -DOJI=1 -DIBMBIDI=1 -DMOZ_VIEW_SOURCE=1 -DACCESSIBILITY=1 -DMOZ_XPINSTALL=1 -DMOZ_JSLOADER=1 -DNS_PRINTING=1 -DNS_PRINT_PREVIEW=1 -DMOZ_NO_XPCOM_OBSOLETE=1 -DMOZ_XTF=1 -DMOZ_MATHML=1 -DMOZ_ENABLE_CANVAS=1 -DMOZ_SVG=1 -DMOZ_SVG_FOREIGNOBJECT=1 -DMOZ_UPDATE_CHANNEL=default -DMOZ_PLACES=1 -DMOZ_FEEDS=1 -DMOZ_STORAGE=1 -DMOZ_SAFE_BROWSING=1 -DMOZ_URL_CLASSIFIER=1 -DMOZ_LOGGING=1 -DMOZ_USER_DIR=\".mozilla\" -DHAVE_STDINT_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_SYS_INT_TYPES_H=1 -DHAVE_UINT64_T=1 -DMOZ_XUL=1 -DMOZ_PROFILELOCKING=1 -DMOZ_RDF=1 -DMOZ_MORKREADER=1 -DMOZ_DLL_SUFFIX=\".so\" -DXP_UNIX=1 -DUNIX_ASYNC_DNS=1 -DJS_THREADSAFE=1 -DMOZ_ACCESSIBILITY_ATK=1 -DATK_MAJOR_VERSION=1 -DATK_MINOR_VERSION=12 -DATK_REV_VERSION=3 -DMOZILLA_LOCALE_VERSION=\"1.9a1\" -DMOZILLA_REGION_VERSION=\"1.9a1\" -DMOZILLA_SKIN_VERSION=\"1.8\"  -D_MOZILLA_CONFIG_H_ -DMOZILLA_CLIENT npunix.c
"npunix.c", line 263: void function cannot return value
"npunix.c", line 302: void function cannot return value
"npunix.c", line 552: warning: pointer to void or function used in arithmetic
"npunix.c", line 590: warning: pointer to void or function used in arithmetic
"npunix.c", line 640: warning: pointer to void or function used in arithmetic
cc: acomp failed for npunix.c


I checked in the following which will hopefully fix the bustage, but please build with this patch and test if it's correct (I don't know this code to check the correctness):

cvs diff: Diffing .
Index: npunix.c
===================================================================
RCS file: /cvsroot/mozilla/modules/plugin/samples/default/unix/npunix.c,v
retrieving revision 1.12
diff -u -p -r1.12 npunix.c
--- npunix.c    17 Feb 2007 18:33:50 -0000      1.12
+++ npunix.c    17 Feb 2007 21:21:01 -0000
@@ -260,7 +260,7 @@ NPIdentifier NPN_GetStringIdentifier(con
 void NPN_GetStringIdentifiers(const NPUTF8 **names, int32_t nameCount,
                               NPIdentifier *identifiers)
 {
-    return CallNPN_GetStringIdentifiersProc(gNetscapeFuncs.getstringidentifiers,
+    CallNPN_GetStringIdentifiersProc(gNetscapeFuncs.getstringidentifiers,
         names, nameCount, identifiers);
 }
 
@@ -299,7 +299,7 @@ NPObject *NPN_RetainObject(NPObject *obj
 
 void NPN_ReleaseObject(NPObject *obj)
 {
-    return CallNPN_ReleaseObjectProc(gNetscapeFuncs.releaseobject, obj);
+    CallNPN_ReleaseObjectProc(gNetscapeFuncs.releaseobject, obj);
 }
 
 bool NPN_Invoke(NPP npp, NPObject* obj, NPIdentifier methodName,
Attachment #245128 - Attachment is obsolete: true
Attachment #245128 - Flags: review?(jst)
Product: Core → Core Graveyard
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: