https://issues.apache.org/bugzilla/show_bug.cgi?id=45433


Henri Yandell <bay...@apache.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |RESOLVED
         Resolution|                            |FIXED




--- Comment #2 from Henri Yandell <bay...@apache.org>  2009-05-25 02:06:37 PST 
---
svn ci -m "Fixing bugzilla entry 45433. SizeTag doesn't accept arrays"
Sending        src/main/java/org/apache/taglibs/unstandard/SizeTag.java
Transmitting file data .
Committed revision 778359 ( 
https://svn.apache.org/viewcvs.cgi?view=rev&rev=778359 ).


Index: src/main/java/org/apache/taglibs/unstandard/SizeTag.java
===================================================================
--- src/main/java/org/apache/taglibs/unstandard/SizeTag.java    (revision
775710 ( https://svn.apache.org/viewcvs.cgi?view=rev&rev=775710 ))
+++ src/main/java/org/apache/taglibs/unstandard/SizeTag.java    (working copy)
@@ -75,8 +75,15 @@
             if(target instanceof String) {
                 result = ( (String)target ).length();
             } else
-            if(target instanceof Collection) {
-                result = ( (Object[])target ).length;
+            if(target.getClass().isArray()) {
+                try {
+                    Field lengthField = target.getClass().getField("length");
+                    result = lengthField.getInt(target);
+                } catch(NoSuchFieldException nsfe) {
+                    throw new JspException("Array found without a length
field", nsfe);
+                } catch(IllegalAccessException iae) {
+                    throw new JspException("Array found with a non-accessible
length field", iae);
+                }
             }
         }
         if(var == null && result != -1) {

-- 
Configure bugmail: https://issues.apache.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.

---------------------------------------------------------------------
To unsubscribe, e-mail: taglibs-dev-unsubscr...@jakarta.apache.org
For additional commands, e-mail: taglibs-dev-h...@jakarta.apache.org

Reply via email to