Kaydet (Commit) 860dc048 authored tarafından Jack Jansen's avatar Jack Jansen

Ported to CW5 (or to new Universal Headers, actually)

üst 2fc94eec
...@@ -31,6 +31,9 @@ OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. ...@@ -31,6 +31,9 @@ OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
#ifndef __MWERKS__ #ifndef __MWERKS__
#define ResultUPP ResultProcPtr #define ResultUPP ResultProcPtr
#define NewResultProc(x) (x) #define NewResultProc(x) (x)
/* The '2' has move in this name... */
#define Result2UPP ResultProc2Ptr
#define NewResult2Proc(x) (x)
#endif #endif
static object *ErrorObject; static object *ErrorObject;
...@@ -360,6 +363,7 @@ dnr_HInfo(self, args) ...@@ -360,6 +363,7 @@ dnr_HInfo(self, args)
OSErr err; OSErr err;
char *hostname; char *hostname;
dnrrobject *rv; dnrrobject *rv;
Result2UPP cb_upp = NewResult2Proc(dnrr_done);
if (!newgetargs(args, "s", &hostname)) if (!newgetargs(args, "s", &hostname))
return NULL; return NULL;
...@@ -367,7 +371,7 @@ dnr_HInfo(self, args) ...@@ -367,7 +371,7 @@ dnr_HInfo(self, args)
return NULL; return NULL;
if ( (rv=newdnrrobject(DNR_HINFO)) == NULL ) if ( (rv=newdnrrobject(DNR_HINFO)) == NULL )
return NULL; return NULL;
err = HInfo(hostname, &rv->hinfo, (ResultProc2Ptr)dnrr_done, (char *)rv); err = HInfo(hostname, &rv->hinfo, cb_upp, (char *)rv);
if ( err == cacheFault ) { if ( err == cacheFault ) {
rv->waiting++; rv->waiting++;
INCREF(rv); INCREF(rv);
...@@ -392,6 +396,7 @@ dnr_MXInfo(self, args) ...@@ -392,6 +396,7 @@ dnr_MXInfo(self, args)
OSErr err; OSErr err;
char *hostname; char *hostname;
dnrrobject *rv; dnrrobject *rv;
Result2UPP cb_upp = NewResult2Proc(dnrr_done);
if (!newgetargs(args, "s", &hostname)) if (!newgetargs(args, "s", &hostname))
return NULL; return NULL;
...@@ -399,7 +404,7 @@ dnr_MXInfo(self, args) ...@@ -399,7 +404,7 @@ dnr_MXInfo(self, args)
return NULL; return NULL;
if ( (rv=newdnrrobject(DNR_MX)) == NULL ) if ( (rv=newdnrrobject(DNR_MX)) == NULL )
return NULL; return NULL;
err = MXInfo(hostname, &rv->hinfo, (ResultProc2Ptr)dnrr_done, (char *)rv); err = MXInfo(hostname, &rv->hinfo, cb_upp, (char *)rv);
if ( err == cacheFault ) { if ( err == cacheFault ) {
rv->waiting++; rv->waiting++;
INCREF(rv); INCREF(rv);
......
...@@ -36,6 +36,9 @@ OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. ...@@ -36,6 +36,9 @@ OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
#define STATE_ESTAB 8 #define STATE_ESTAB 8
#define STATE_CWAIT 18 #define STATE_CWAIT 18
/* Python code has an additional reason for asr call: open done */
#define MY_OPEN_DONE 32766
static object *ErrorObject; static object *ErrorObject;
TCPIOCompletionUPP upp_tcp_done; TCPIOCompletionUPP upp_tcp_done;
...@@ -334,7 +337,7 @@ tcps_done(pb) ...@@ -334,7 +337,7 @@ tcps_done(pb)
/* Extension of mactcp semantics: also call asr on open complete */ /* Extension of mactcp semantics: also call asr on open complete */
if ( self->asr == None ) if ( self->asr == None )
return; return;
self->asr_ec = lastEvent-1; self->asr_ec = MY_OPEN_DONE;
self->asr_reason = 0; self->asr_reason = 0;
Py_AddPendingCall(tcps_asr_safe, (void *)self); Py_AddPendingCall(tcps_asr_safe, (void *)self);
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment