On Sat, Jun 13, 2020 at 3:16 PM taf <t...@pgmguild.com> wrote: > I'd rather not just make the errors go away... Sorry to be so thick but > I'd really like to understand what's wrong. > > First: Where is REXXPFN coming from? That string appears nowhere in the > .c or .h files of the mod_rexx package. It appears in several .h files in > oorexx .h files, but nowhere (that I can find) is it actually defined only > as references. > It is part of the rexx.h APIs, and is the abstract type for a function pointer. Because there are calling conventions involved, it is defined in rexxapitypes.h. Many of the APIs, such as RexxRegisterExitExe take an REXXPFN as one of the arguments. You need perform an explicit cast of the argument to (REXXPFN) to make the warnings go away.
Second: I've replaced all the instances of ulong APIENTRY function with RexxReturnCode > REXXENTRY function : > > /* taf > ULONG APIENTRY WWWLogError(PSZ Name, LONG Argc, RXSTRING Argv[], > PSZ Queuename, PRXSTRING Retstr) > */ > RexxReturnCode REXXENTRY WWWLogError( > const char* Name, > size_t Argc, > CONSTRXSTRING Argv[], > const char* queuename, > PRXSTRING Retstr) > > which I thought was what you recommended earlier but am still getting the > C4133 warnings. > This is still a correct change, but you still refuse to add the (REXXPFN) cast that is necessary to make the warnings go away. This is at least the fourth time I've had to tell you this, I don't know why you find this so difficult, it is a trivial change. > Maybe I'm not including the correct header files? or not in the correct > sequence? Here's what /showIncludes reports: > Note: including file: D:\ooRexx\ooRexx5.0.0\api\rexx.h > Note: including file: d:\oorexx\oorexx5.0.0\api\rexxapitypes.h > Note: including file: d:\oorexx\oorexx5.0.0\api\rexxapidefs.h > Note: including file: d:\oorexx\oorexx5.0.0\api\rexxplatformdefs.h > Note: including file: d:\oorexx\oorexx5.0.0\api\rexxplatformapis.h > > > Nope, you're good, you just need to add the (REXXPFN) cast to the calls. Rick > On 2020-06-13 02:42, Rick McGuire wrote: > > To make the errors go away at the point where they occur, just add an > explicit cast for the argument to (REXXPFN). However you should also go > back to where the function named as an argument is defined and make sure it > is updated to the current calling conventions. > > On Fri, Jun 12, 2020 at 8:05 PM taf <t...@pgmguild.com> wrote: > >> I'd like to go back to the beginning, because I'm completely at sea >> here... >> >> I'm getting many warning messages from the compiler, all of which seem >> (to me anyway) to be griping about the incompatibility of something (?) >> with REXXPFN. But REXXPFN does not appear in any of the mod_rexx code. It >> does appear in oorexxapi.h and rexx.h in the oorexx/api directory... >> However none of the cases of REXXPFN seem (to my admittedly untutored eye) >> to be definitions, just references. So... where does REXXPFN come from? >> How should I change my code to be compatible with the REXXPFN? >> >> mod_rexx.c(410): warning C4133: 'function': incompatible types - from >> 'int (__cdecl *)(int,int,PEXIT)' to 'REXXPFN' >> >> rxfuncs.c(2695): warning C4133: 'function': incompatible types - from >> 'ULONG (__cdecl *)(PSZ,LONG,RXSTRING *,PSZ,PRXSTRING)' to 'REXXPFN' >> >> >> On 2020-06-11 16:30, Rick McGuire wrote: >> >> Rexx_INI_Exit is a routine inside of the code you're working on. >> >> Rick >> >> On Thu, Jun 11, 2020 at 7:21 PM taf <t...@pgmguild.com> wrote: >> >>> I cannot find any references to Rexx_INI_Exit inApplication Programming >>> Interfaces 5.0.0.12003. Am I looking in the wrong book? >>> On 2020-06-11 12:32, Rick McGuire wrote: >>> >>> >>> >>> On Thu, Jun 11, 2020 at 3:13 PM taf <t...@pgmguild.com> wrote: >>> >>>> Hi, thanks. But... I don't understand how to use your answer... >>>> >>>> I have many statements that incur the warning, they are all like: >>>> >>>> rc = RexxRegisterExitExe(WWW_INI_EXIT, Rexx_INI_Exit, NULL); >>>> >>> Your declaration is using the old 3.2.0 style of declaration for >>> Rexx_INI_Exit. See the most recent API documentation for details. >>> >>> Rick >>> >>> >>> >>>> or like this >>>> >>>> ap_log_error(APLOG_MARK, APLOG_NOERRNO | APLOG_ERR, 0, >>>> r->server, "Error %d registering Rexx >>>> WWW_INI_EXIT", >>>> (int)rc); >>>> >>>> the ap_log_xxx are macros defined like this: >>>> >>>> #define modrexx_debug(srvr, msg) ap_log_error(APLOG_MARK, \ >>>> APLOG_NOERRNO | APLOG_DEBUG, 0, srvr, msg) >>>> #define modrexx_error(srvr, msg) ap_log_error(APLOG_MARK, \ >>>> APLOG_NOERRNO | APLOG_ERR, 0, srvr, msg) >>>> >>>> I'm not sure how to get from these to your statement. >>>> >>>> More help please? >>>> On 2020-06-10 16:16, Rick McGuire wrote: >>>> >>>> Use this for your function declarations: >>>> >>>> RexxReturnCode REXXENTRY MySimpleFunction( >>>> const char* name, // Function name // >>>> size_t numargs, // Number of arguments // >>>> CONSTRXSTRING args[], // Argument array // >>>> const char* queuename, // Current queue // >>>> PRXSTRING retstr ) // Return RESULTS string // >>>> >>>> >>>> On Tue, Jun 9, 2020 at 11:21 PM taf <t...@pgmguild.com> wrote: >>>> >>>>> I'm trying to upgrade David Ashley's mod_rexx package for Apache >>>>> httpd. >>>>> The last version was for httpd 2.2 and ooRexx 3.1.2 I've successfully >>>>> compiled for httpd 2.4 and ooRexx 5.0.0 but... >>>>> >>>>> I'm getting many warnings: >>>>> >>>>> mod_rexx.c(410): warning C4133: 'function': incompatible types - from >>>>> 'int (__cdecl *)(int,int,PEXIT)' to 'REXXPFN' >>>>> >>>>> rxfuncs.c(2695): warning C4133: 'function': incompatible types - from >>>>> 'ULONG (__cdecl *)(PSZ,LONG,RXSTRING *,PSZ,PRXSTRING)' to 'REXXPFN' >>>>> >>>>> can anyone point out what I've done wrong? These 'warnings' seem >>>>> pretty >>>>> dire to me... >>>>> >>>>> Thanks in advance. >>>>> >>>>> >>>>> >>>>> >>>>> _______________________________________________ >>>>> Oorexx-devel mailing list >>>>> Oorexx-devel@lists.sourceforge.net >>>>> https://lists.sourceforge.net/lists/listinfo/oorexx-devel >>>>> >>>> >>>> >>>> _______________________________________________ >>>> Oorexx-devel mailing >>>> listOorexx-devel@lists.sourceforge.nethttps://lists.sourceforge.net/lists/listinfo/oorexx-devel >>>> >>>> _______________________________________________ >> Oorexx-devel mailing list >> Oorexx-devel@lists.sourceforge.net >> https://lists.sourceforge.net/lists/listinfo/oorexx-devel >> > > > _______________________________________________ > Oorexx-devel mailing > listOorexx-devel@lists.sourceforge.nethttps://lists.sourceforge.net/lists/listinfo/oorexx-devel > > _______________________________________________ > Oorexx-devel mailing list > Oorexx-devel@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/oorexx-devel >
_______________________________________________ Oorexx-devel mailing list Oorexx-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/oorexx-devel