]> git.unchartedbackwaters.co.uk Git - francis/winuae.git/commitdiff
Implement missing SBTC_RELEASESTRPTR.
authorToni Wilen <twilen@winuae.net>
Fri, 11 Jan 2019 17:59:22 +0000 (19:59 +0200)
committerToni Wilen <twilen@winuae.net>
Fri, 11 Jan 2019 17:59:22 +0000 (19:59 +0200)
bsdsocket.cpp

index 74161bb9e45dffc7798c872e23803821259d6c8d..dfbd2c72d2893173ffe23db683462598c2b2cad0 100644 (file)
@@ -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 :) */