From 2a1c434d382f6f400271258c15d074d681c23828 Mon Sep 17 00:00:00 2001 From: cproudlock Date: Mon, 22 Dec 2025 09:46:50 -0500 Subject: [PATCH] Fix IIf() runtime bug in updatedevicedirect.asp MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit VBScript does not have an IIf() function. Replaced 6 IIf() calls with proper If-Then-Else variable preparation for network interface parameter handling (ip1/mac1, ip2/mac2, ip3/mac3). 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 --- updatedevicedirect.asp | 27 +++++++++++++++++++++------ 1 file changed, 21 insertions(+), 6 deletions(-) diff --git a/updatedevicedirect.asp b/updatedevicedirect.asp index cad250b..c11c8ae 100644 --- a/updatedevicedirect.asp +++ b/updatedevicedirect.asp @@ -444,6 +444,11 @@ ' Interface 1 (Primary) If ip1 <> "" Or mac1 <> "" Then + ' Prepare parameter values (VBScript has no IIf) + Dim paramIp1, paramMac1 + If ip1 <> "" Then paramIp1 = ip1 Else paramIp1 = Null + If mac1 <> "" Then paramMac1 = mac1 Else paramMac1 = Null + Dim cmdComm1 Set cmdComm1 = Server.CreateObject("ADODB.Command") cmdComm1.ActiveConnection = objConn @@ -451,8 +456,8 @@ cmdComm1.CommandType = 1 cmdComm1.Parameters.Append cmdComm1.CreateParameter("@machineid", 3, 1, , CLng(machineid)) cmdComm1.Parameters.Append cmdComm1.CreateParameter("@comstypeid", 3, 1, , comstypeid) - cmdComm1.Parameters.Append cmdComm1.CreateParameter("@address", 200, 1, 50, IIf(ip1 <> "", ip1, Null)) - cmdComm1.Parameters.Append cmdComm1.CreateParameter("@macaddress", 200, 1, 50, IIf(mac1 <> "", mac1, Null)) + cmdComm1.Parameters.Append cmdComm1.CreateParameter("@address", 200, 1, 50, paramIp1) + cmdComm1.Parameters.Append cmdComm1.CreateParameter("@macaddress", 200, 1, 50, paramMac1) cmdComm1.Parameters.Append cmdComm1.CreateParameter("@interfacename", 200, 1, 50, "Interface 1") On Error Resume Next @@ -463,6 +468,11 @@ ' Interface 2 (Optional) If ip2 <> "" Or mac2 <> "" Then + ' Prepare parameter values (VBScript has no IIf) + Dim paramIp2, paramMac2 + If ip2 <> "" Then paramIp2 = ip2 Else paramIp2 = Null + If mac2 <> "" Then paramMac2 = mac2 Else paramMac2 = Null + Dim cmdComm2 Set cmdComm2 = Server.CreateObject("ADODB.Command") cmdComm2.ActiveConnection = objConn @@ -470,8 +480,8 @@ cmdComm2.CommandType = 1 cmdComm2.Parameters.Append cmdComm2.CreateParameter("@machineid", 3, 1, , CLng(machineid)) cmdComm2.Parameters.Append cmdComm2.CreateParameter("@comstypeid", 3, 1, , comstypeid) - cmdComm2.Parameters.Append cmdComm2.CreateParameter("@address", 200, 1, 50, IIf(ip2 <> "", ip2, Null)) - cmdComm2.Parameters.Append cmdComm2.CreateParameter("@macaddress", 200, 1, 50, IIf(mac2 <> "", mac2, Null)) + cmdComm2.Parameters.Append cmdComm2.CreateParameter("@address", 200, 1, 50, paramIp2) + cmdComm2.Parameters.Append cmdComm2.CreateParameter("@macaddress", 200, 1, 50, paramMac2) cmdComm2.Parameters.Append cmdComm2.CreateParameter("@interfacename", 200, 1, 50, "Interface 2") On Error Resume Next @@ -482,6 +492,11 @@ ' Interface 3 (Optional) If ip3 <> "" Or mac3 <> "" Then + ' Prepare parameter values (VBScript has no IIf) + Dim paramIp3, paramMac3 + If ip3 <> "" Then paramIp3 = ip3 Else paramIp3 = Null + If mac3 <> "" Then paramMac3 = mac3 Else paramMac3 = Null + Dim cmdComm3 Set cmdComm3 = Server.CreateObject("ADODB.Command") cmdComm3.ActiveConnection = objConn @@ -489,8 +504,8 @@ cmdComm3.CommandType = 1 cmdComm3.Parameters.Append cmdComm3.CreateParameter("@machineid", 3, 1, , CLng(machineid)) cmdComm3.Parameters.Append cmdComm3.CreateParameter("@comstypeid", 3, 1, , comstypeid) - cmdComm3.Parameters.Append cmdComm3.CreateParameter("@address", 200, 1, 50, IIf(ip3 <> "", ip3, Null)) - cmdComm3.Parameters.Append cmdComm3.CreateParameter("@macaddress", 200, 1, 50, IIf(mac3 <> "", mac3, Null)) + cmdComm3.Parameters.Append cmdComm3.CreateParameter("@address", 200, 1, 50, paramIp3) + cmdComm3.Parameters.Append cmdComm3.CreateParameter("@macaddress", 200, 1, 50, paramMac3) cmdComm3.Parameters.Append cmdComm3.CreateParameter("@interfacename", 200, 1, 50, "Interface 3") On Error Resume Next