X-Authentication-Warning: delorie.com: mail set sender to djgpp-bounces using -f X-Recipient: djgpp AT delorie DOT com X-Original-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1711153841; x=1711758641; darn=delorie.com; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=kjlu7uT+MlS0B6tQxvfXbzCZ51EpWl99Ays1Lz5M4kM=; b=F+qNK6J04QVH/j0rxRy5cMmBkQg6aI9zm79HcQdozA/lmgnrtm7KjhzaytAUtxjgx3 sFd+GD8eTFf5IZejVhEThf3cm16QRoXNOVHW+CGgRGfcTVaDSksyi1DdXwEnWpiTPtMV x3I2bQw9xbW0avqEraz/iTKhEqd80yjEfBHEcnhk2t3ENXaXZMPfmSFT6VAC3Md68X9I fKS5p2bZir5NbyApQ106VeLaqfC7O4p68gMhBGTkwBRHCNpX1bsADEBrUBUin+BGC+ZN HY4jiBmfQ5Ach1kZ095+BQkaIfThYKPpLlD74EgQ7zaiH0DM7irCeuzuS88VuLojhSBr oFGQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1711153841; x=1711758641; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=kjlu7uT+MlS0B6tQxvfXbzCZ51EpWl99Ays1Lz5M4kM=; b=PKmZfTwsOfLzeto7iMyGeHhA5Mc/FgQwUfOwoGQu3f/ocG6cIvtl1Hgrpc/P6jTvVz cK98ymLVcmaX53i3SwQaXPel9ebEQzcWfpwpSsBuEzKxP71VBW9OD3vET2KjBUYJ39G4 bgXgAnc1A0F/X0OQu5AeDyHLDDffyR9ycdXezNFw9saPjoZEwMIVinnhktc25TIhbpgH DlTIkEA+jBnytjEm3Lck/3X3UJg40jNC8Un+wyVdyRyHeFjRbQ8/gfeia0QwJut+gFUJ ncCv+U2m2pa/pbveSnQ0LsA1mGVYq1CuI1wVwgvQBQy1lwI/ipXA+8C8UDS1zD4QKOJo 9uZg== X-Gm-Message-State: AOJu0YyPOt40Va6cYY94jihpoxHRAedCfj8ZblUGaL2by8oY/bvmLYvy VYNRAK+aQGcjSAkww9G7xXukuFkHgh0CjbFTFmZh8Zky+istpZlzEcMWfy+8eyswD2UDsbLq80V L3dgY9+4xKr6K1tWI3Fsetvf5wqRHj47xTaE= X-Google-Smtp-Source: AGHT+IGLJW5PWDnMh+v/6Y15ds++MHQZTroZ7nRRmK4jhLFsUVmV8xtQ3GdcYk/vGfwKYgfO1qpbRDABmr3MQTVlWW4= X-Received: by 2002:a25:dbca:0:b0:dcc:383b:e48d with SMTP id g193-20020a25dbca000000b00dcc383be48dmr954482ybf.26.1711153841175; Fri, 22 Mar 2024 17:30:41 -0700 (PDT) MIME-Version: 1.0 References: <20240320231522 DOT fowijjlk2h6ilw6x AT pali> <86o7b82gnq DOT fsf AT gnu DOT org> In-Reply-To: <86o7b82gnq.fsf@gnu.org> From: "Rugxulo (rugxulo AT gmail DOT com) [via djgpp AT delorie DOT com]" Date: Fri, 22 Mar 2024 19:30:28 -0500 Message-ID: Subject: Re: Error handling of ECX in __dpmi_set_page_attributes() To: djgpp AT delorie DOT com Cc: Pali Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: 8bit X-MIME-Autoconverted: from quoted-printable to 8bit by delorie.com id 42N0Ugj72027052 Reply-To: djgpp AT delorie DOT com Hi, On Thu, Mar 21, 2024 at 2:23 AM Eli Zaretskii (eliz AT gnu DOT org) [via djgpp AT delorie DOT com] wrote: > > > DPMI 1.0 spec says that if function 0507H is unsuccessful then it sets > > ECX to number of pages that have been set. > > It is not clear from the spec whether ECX is _always_ set, regardless > of the error code returned in AX. Some error codes don't sound like > they could happen after successfully setting attributes of several > pages. Do we have any information about what the various DPMI 1.0 > hosts actually do in this case? Should we at least check in the > function's code that the value in ECX is non-negative and smaller than > the value of ECX set by the caller? Sudley Place's DPMIONE is GPL'd these days, IIRC, and supports DPMI 1.0. Otherwise, I'd mainly suggest testing CWSDPMI (obviously) and (Japheth's HX) HDPMI32. * https://github.com/sudleyplace/DPMIONE * https://github.com/Baron-von-Riedesel/HX