From: Toni Wilen Date: Fri, 11 Jan 2019 17:59:22 +0000 (+0200) Subject: Implement missing SBTC_RELEASESTRPTR. X-Git-Tag: 4200~86 X-Git-Url: https://git.unchartedbackwaters.co.uk/w/?a=commitdiff_plain;h=af0aa7d3c5a658e4b49a7c20d82f0f7d38ee9438;p=francis%2Fwinuae.git Implement missing SBTC_RELEASESTRPTR. --- diff --git a/bsdsocket.cpp b/bsdsocket.cpp index 74161bb9..dfbd2c72 100644 --- a/bsdsocket.cpp +++ b/bsdsocket.cpp @@ -1388,7 +1388,7 @@ static const uae_u32 number_io_error = sizeof (io_errlist) / sizeof (*io_errlist static const TCHAR * const strErr = _T("Errlist lookup error"); -static uae_u32 strErrptr; +static uae_u32 strErrptr, strReleaseVer; #define TAG_DONE (0L) /* terminates array of TagItems. ti_Data unused */ @@ -1678,6 +1678,12 @@ static uae_u32 REGPARAM2 bsdsocklib_SocketBaseTagList(TrapContext *ctx) tagcopy(ctx, currtag, currval, tagptr, &sb->herrnoptr); sb->herrnosize = 4; break; + case SBTC_RELEASESTRPTR: + BSDTRACE((_T("SBTC_RELEASESTRPTR),0x%x"), currval)); + if (!(currtag & 1)) { + tagcopy(ctx, currtag, currval, tagptr, &strReleaseVer); + } + break; default: write_log (_T("bsdsocket: WARNING: Unsupported tag type (%08x=%d) in SocketBaseTagList(%x)\n"), currtag, (currtag / 2) & SBTS_CODE, trap_get_areg(ctx, 0)); @@ -1736,6 +1742,7 @@ static uae_u32 REGPARAM2 bsdsocklib_null(TrapContext *ctx) static uae_u32 REGPARAM2 bsdsocklib_init(TrapContext *ctx) { + TCHAR verStr[32]; uae_u32 tmp1; int i; @@ -1775,6 +1782,7 @@ static uae_u32 REGPARAM2 bsdsocklib_init(TrapContext *ctx) SockLibBase = tmp1; /* Install error strings in Amiga memory */ + _stprintf(verStr, _T("UAE %d.%d.%d"), UAEMAJOR, UAEMINOR, UAESUBREV); tmp1 = 0; for (i = number_sys_error; i--;) tmp1 += _tcslen (errortexts[i]) + 1; @@ -1784,7 +1792,8 @@ static uae_u32 REGPARAM2 bsdsocklib_init(TrapContext *ctx) tmp1 += _tcslen (sana2io_errlist[i]) + 1; for (i = number_sana2wire_error; i--;) tmp1 += _tcslen (sana2wire_errlist[i]) + 1; - tmp1 += _tcslen (strErr) + 1; + tmp1 += _tcslen(strErr) + 1; + tmp1 += _tcslen(verStr) + 1; #if NEWTRAP trap_call_add_dreg(ctx, 0, tmp1); @@ -1810,6 +1819,7 @@ static uae_u32 REGPARAM2 bsdsocklib_init(TrapContext *ctx) for (i = 0; i < (int) (number_sana2wire_error); i++) sana2wiretextptrs[i] = addstr(ctx, &tmp1, sana2wire_errlist[i]); strErrptr = addstr(ctx, &tmp1, strErr); + strReleaseVer = addstr(ctx, &tmp1, verStr); #if 0 /* @@@ someone please implement a proper interrupt handler setup here :) */