Want to protect your cyber security and still get fast solutions? Ask a secure question today.Go Premium

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 409
  • Last Modified:

Creating a Netscape Plugin with Watcom

I am having problems getting Watcom to compile the sample
NPCLOCK plugin.  It reports a syntax error at line 59 of
NPOS2.CPP (in common).

This line is a function definition, and I find it hard to
believe that there would be a syntax error in the
distributed code.  Has anyone had this problem and can shed
some light on its solution please?

I have the Warp toolkit and Watcom 10.6
0
faye040697
Asked:
faye040697
1 Solution
 
timurCommented:
If you can post the following, I can look at the problem without
having to compile it myself:
The source for NPOS2.CPP (line 59 and the surrounding lines only)
The command-line parameters for wpp386
The exact error output of the compiler
0
 
faye040697Author Commented:
NPOS2.CPP:

58:NPError OSCALL NP_EXPORT
59:NP_GetEntryPoints(NPPluginFuncs* pFuncs)
60:{

error log:

wpp386 ..\..\common\npos2.cpp
-i=d:\watcom\h;d:\watcom\h\os2;d:\watcom\netscape\include -w4
-e25 -zq -otexan -d2 -bd -5r -bt=os2 -mf
..\..\common\npos2.cpp(34): Warning! W014: (col 1) no reference
to symbol 'hmod'
..\..\common\npos2.cpp(34): Note! N392: (col 1) 'unsigned long
hmod' in 'unsigned long DLLInitTerm( unsigned long, int )'
defined in: ..\..\common\npos2.cpp(31) (col 27)
..\..\common\npos2.cpp(34): Warning! W014: (col 1) no reference
to symbol 'Flag'
..\..\common\npos2.cpp(34): Note! N392: (col 1) 'int Flag' in
'unsigned long DLLInitTerm( unsigned long, int )' defined in:
..\..\common\npos2.cpp(31) (col 37)
..\..\common\npos2.cpp(59): Error! E006: (col 1) syntax error;
probable cause: missing ';'
..\..\common\npos2.cpp(254): Warning! W014: (col 1) no reference
to symbol 'g_pluginFuncs'
..\..\common\npos2.cpp(254): Note! N392: (col 1) '_NPPluginFuncs
* g_pluginFuncs' defined in: ..\..\common\npos2.cpp(48) (col 23)
Error(E42): Last command making
(d:\watcom\netscape\sample\npclock\npos2.obj) returned a bad
status

0
 
faye040697Author Commented:
NPOS2.CPP:

58:NPError OSCALL NP_EXPORT
59:NP_GetEntryPoints(NPPluginFuncs* pFuncs)
60:{

error log:

wpp386 ..\..\common\npos2.cpp
-i=d:\watcom\h;d:\watcom\h\os2;d:\watcom\netscape\include -w4
-e25 -zq -otexan -d2 -bd -5r -bt=os2 -mf
..\..\common\npos2.cpp(34): Warning! W014: (col 1) no reference
to symbol 'hmod'
..\..\common\npos2.cpp(34): Note! N392: (col 1) 'unsigned long
hmod' in 'unsigned long DLLInitTerm( unsigned long, int )'
defined in: ..\..\common\npos2.cpp(31) (col 27)
..\..\common\npos2.cpp(34): Warning! W014: (col 1) no reference
to symbol 'Flag'
..\..\common\npos2.cpp(34): Note! N392: (col 1) 'int Flag' in
'unsigned long DLLInitTerm( unsigned long, int )' defined in:
..\..\common\npos2.cpp(31) (col 37)
..\..\common\npos2.cpp(59): Error! E006: (col 1) syntax error;
probable cause: missing ';'
..\..\common\npos2.cpp(254): Warning! W014: (col 1) no reference
to symbol 'g_pluginFuncs'
..\..\common\npos2.cpp(254): Note! N392: (col 1) '_NPPluginFuncs
* g_pluginFuncs' defined in: ..\..\common\npos2.cpp(48) (col 23)
Error(E42): Last command making
(d:\watcom\netscape\sample\npclock\npos2.obj) returned a bad
status

0
What does it mean to be "Always On"?

Is your cloud always on? With an Always On cloud you won't have to worry about downtime for maintenance or software application code updates, ensuring that your bottom line isn't affected.

 
jaigerCommented:
maybe Julien Pierre can help you out.  He's written some plugins
for Netscape/2 though I'm not sure what compiler he is using.

try posting to c.o.o.programmer.misc, I don't have his email
or webpage handy.

good luck.
0
 
timurCommented:
It looks like your missing a header file.  Have you tried
looking at the pre-processor output?  What are the definitions
of NPError and "OSCALL NP_EXPORT"?  These could be
compiler-specific flags.

0
 
jlouvauCommented:
NP_EXPORT is defined ad _Export... while Watcom handles most of the IBM compiler-isms, this is one it doesn't. Either change those references to __export, or add -d_Export=__export to the compiler command-line.

FYI, there's also a breakage in Clock.h:

They have:

struct CLKDATA {
   ...
};

typedef CLKDATA *PCLKDATA;

This obviously isn't kosher. It should be:

typedef struct CLKDATA *PCLKDATA;

*OR* (preferably)

typedef struct _CLKDATA {
   ...
} CLKDATA;

In which case the typedef is OK.

0

Featured Post

Industry Leaders: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

Tackle projects and never again get stuck behind a technical roadblock.
Join Now