diff --git a/src/zabapgit_css_common.w3mi.xml b/src/zabapgit_css_common.w3mi.xml
index 8e398b1d3..1908ab75d 100644
--- a/src/zabapgit_css_common.w3mi.xml
+++ b/src/zabapgit_css_common.w3mi.xml
@@ -21,7 +21,7 @@
MI
ZABAPGIT_CSS_COMMON
filesize
- 12136
+ 12136
MI
diff --git a/src/zabapgit_js_common.w3mi.xml b/src/zabapgit_js_common.w3mi.xml
index 7047c5f2f..386970cd1 100644
--- a/src/zabapgit_js_common.w3mi.xml
+++ b/src/zabapgit_js_common.w3mi.xml
@@ -21,7 +21,7 @@
MI
ZABAPGIT_JS_COMMON
filesize
- 6500
+ 6500
MI
diff --git a/src/zabapgit_object_w3xx.prog.abap b/src/zabapgit_object_w3xx.prog.abap
index d480c2259..d67f17668 100644
--- a/src/zabapgit_object_w3xx.prog.abap
+++ b/src/zabapgit_object_w3xx.prog.abap
@@ -34,8 +34,9 @@ CLASS lcl_object_w3super DEFINITION INHERITING FROM lcl_objects_super ABSTRACT.
RAISING lcx_exception.
METHODS patch_size
- IMPORTING iv_size TYPE i
- CHANGING ct_params TYPE ty_wwwparams_tt
+ IMPORTING iv_size TYPE i OPTIONAL " Overwrite if given
+ EXPORTING ev_size TYPE i " Return size as integer
+ CHANGING ct_params TYPE ty_wwwparams_tt " Param table to patch
RAISING lcx_exception.
METHODS patch_filename
@@ -101,7 +102,6 @@ CLASS lcl_object_w3super IMPLEMENTATION.
DATA lt_w3html TYPE STANDARD TABLE OF w3html.
DATA lt_w3params TYPE STANDARD TABLE OF wwwparams.
DATA lv_xstring TYPE xstring.
- DATA ls_wwwparam LIKE LINE OF lt_w3params.
DATA lv_size TYPE int4.
SELECT SINGLE * INTO CORRESPONDING FIELDS OF ms_key
@@ -141,12 +141,9 @@ CLASS lcl_object_w3super IMPLEMENTATION.
lcx_exception=>raise( 'Cannot read W3xx data' ).
ENDIF.
- READ TABLE lt_w3params INTO ls_wwwparam WITH KEY name = 'filesize' ##NO_TEXT.
- IF sy-subrc IS NOT INITIAL.
- lcx_exception=>raise( 'Cannot read W3xx filesize' ).
- ENDIF.
-
- lv_size = ls_wwwparam-value.
+ " Condense size string + get size to local integer
+ patch_size( IMPORTING ev_size = lv_size
+ CHANGING ct_params = lt_w3params ).
" Remove file path (for security concerns)
patch_filename( CHANGING ct_params = lt_w3params ).
@@ -221,10 +218,8 @@ CLASS lcl_object_w3super IMPLEMENTATION.
iv_ext = get_ext( lt_w3params ) ).
WHEN OTHERS.
lcx_exception=>raise( 'W3xx: Unknown serializer version' ).
-
ENDCASE.
-
CASE ms_key-relid.
WHEN 'MI'.
CALL FUNCTION 'SCMS_XSTRING_TO_BINARY'
@@ -389,8 +384,12 @@ CLASS lcl_object_w3super IMPLEMENTATION.
lcx_exception=>raise( |W3xx: Cannot find file size for { ms_key-objid }| ).
ENDIF.
- -value = iv_size.
- SHIFT -value LEFT DELETING LEADING space.
+ IF iv_size IS NOT INITIAL.
+ -value = iv_size.
+ ENDIF.
+ CONDENSE -value.
+
+ ev_size = -value.
ENDMETHOD. " patch_size.