Index: websrv-php.xsl
===================================================================
--- websrv-php.xsl	(revision 43411)
+++ websrv-php.xsl	(working copy)
@@ -117,7 +117,6 @@
   <xsl:param name="ifname" />
   <xsl:param name="attrname" />
   <xsl:param name="attrtype" />
-  <xsl:param name="attrsafearray" />
   <xsl:variable name="fname"><xsl:call-template name="makeGetterName"><xsl:with-param name="attrname" select="$attrname"/></xsl:call-template> </xsl:variable>
    public function <xsl:value-of select="$fname"/>() {
        $request = new stdClass();
@@ -141,7 +140,10 @@
    public function <xsl:value-of select="$fname"/>($value) {
        $request = new stdClass();
        $request->_this = $this->handle;
-       if (is_null($value) || is_scalar($value)) {
+       <xsl:choose>
+         <xsl:when test="$attrsafearray='yes'">if (is_array($value) || is_null($value) || is_scalar($value)) {</xsl:when>
+         <xsl:otherwise>if (is_null($value) || is_scalar($value)) {</xsl:otherwise>
+       </xsl:choose>
             $request-><xsl:value-of select="$attrname"/> = $value;
        }
        else
@@ -181,6 +183,7 @@
       <xsl:variable name="attrname"><xsl:value-of select="@name" /></xsl:variable>
       <xsl:variable name="attrtype"><xsl:value-of select="@type" /></xsl:variable>
       <xsl:variable name="attrreadonly"><xsl:value-of select="@readonly" /></xsl:variable>
+      <xsl:variable name="attrsafearray"><xsl:value-of select="@safearray" /></xsl:variable>
       <!-- skip this attribute if it has parameters of a type that has wsmap="suppress" -->
       <xsl:choose>
         <xsl:when test="( $attrtype=($G_setSuppressedInterfaces/@name) )">
@@ -207,6 +210,7 @@
               <xsl:with-param name="ifname" select="$ifname" />
               <xsl:with-param name="attrname" select="$attrname" />
               <xsl:with-param name="attrtype" select="$attrtype" />
+              <xsl:with-param name="attrsafearray" select="$attrsafearray" />
             </xsl:call-template>
           </xsl:if>
         </xsl:otherwise>
