search_binary_2

in src/zgoog_cl_content_repo_gcs.clas.abap [0:0]


  METHOD search_binary_2.
    DATA: lv_l  TYPE i,
          lv_l2 TYPE i,
          lv_n  TYPE i,
          lv_p  TYPE i,
          lv_pb TYPE i,
          lv_pp TYPE i.

    lv_l = xstrlen( iv_pattern ).
    lv_l2 = xstrlen( iv_pattern ).

    IF lv_l <> lv_l2.
      cv_pos = -1.
    ENDIF.

    lv_n = xstrlen( iv_buffer ) - xstrlen( iv_pattern ).
    cv_pos = -1.

    IF iv_pattern IS INITIAL.
      cv_pos = 0.
      EXIT.
    ENDIF.

    lv_p = 0.
    WHILE lv_p <= lv_n.
      lv_pb = lv_p.
      lv_pp = 0.
      WHILE lv_pp < lv_l.
        IF     iv_buffer+lv_pb(1) <> iv_pattern+lv_pp(1)
           AND iv_buffer+lv_pb(1) <> iv_pattern2+lv_pp(1).
          EXIT.
        ENDIF.
        lv_pp = lv_pp + 1.
        lv_pb = lv_pb + 1.
      ENDWHILE.
      IF lv_pp = lv_l.
        cv_pos = lv_p.
        EXIT.
      ENDIF.
      lv_p = lv_p + 1.
    ENDWHILE.