Re: Counting occurrences of a string in loadlib



Hi

I would also suggest to load and compare.
We tried to search for some module id. string in a loded module, but we failed in the new program object format, as the LOAD not brings the
the complete text into the storage.


Arthur T. wrote:

On 26 Apr 2007 21:55:42 -0700, in bit.listserv.ibm-main (Message-ID:<cbd.10ac64ad.3362dc44@xxxxxxx>) IBroussard@xxxxxxxxxxxx wrote:

I have two load libraries (PDS's) that have different blocksizes. The
modules in the load libraries should be "logically" equivalent, but since the
blocksizes are different, they are not "physically" equivalent. I need to count
the occurrences of a given string (i.e., "change identifier") in each load module and come up with a total for each load library. I know I can browse each member and do a "FIND ALL...", but I would rather do the count in one shot for each load library.
ISPF 3.14 and 3.15 ("Search For" and "Extended Search For") tell me how many lines in each member contain the string and total number of lines containing the string in the load library. The problem with this is that in load library "A" (which has a block size of 32K), the string may occur three times on a single line in module PROGRAM1, but in load library "B" (which has a blocksize of 6144), the same logical data in PROGRAM1 takes up multiple physical records, so the string shows up on several lines instead of one, so the count of lines with the string don't match.


There's a bigger problem in any standard text search. I would expect there to be a reasonable chance of at least one of the strings being split across blocks (depending on string length, blocksize, and number of members). In that case, the string would not be found.

An annoying thing that I've run across is that even if the blocksizes are equal, an IEBCOPYed lmod might not be byte-for-byte equal with its source. (WAD - or WABD, where the B stands for "badly".)

Has anyone written a program to LOAD two modules and compare them? Or, are there gotchas in that technique, too?



--
Miklos Szigetvari

Development Team
ISIS Information Systems Gmbh tel: (+43) 2236 27551 570
Fax: (+43) 2236 21081

E-mail: miklos.szigetvari@xxxxxxxxxxxxxxxx

Info: info@xxxxxxxxxxxxxxxx Hotline: +43-2236-27551-111

Visit our Website: http://www.isis-papyrus.com ---------------------------------------------------------------
This e-mail is only intended for the recipient and not legally
binding. Unauthorised use, publication, reproduction or
disclosure of the content of this e-mail is not permitted.
This email has been checked for known viruses, but ISIS accepts
no responsibility for malicious or inappropriate content.
---------------------------------------------------------------

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to listserv@xxxxxxxxxxx with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html
.



Relevant Pages

  • Re: Fast string functions
    ... If you have a misaligned string of less than 8/16 bytes from the end of the last allocated page, then you'll get a page fault by trying to read past the end of the page. ... Alpha handled this by having an instruction which could convert the lower three bits of an address into a mask, said mask to be used together with an aligned load. ... With SSE you don't have a similarly fast way of turning a potentially misaligned load in an aligned load + mask, and since average C string lengths are just a few bytes, the first block handling is _crucial_. ... Microcode, which then will effectively expand to a _lot_ of code handling alignment, locating the shortest string length input, do a bunch of 16-byte loads from the two source addresses, masking the compare if the shortest string ends anywhere inside, do the compare, then loop. ...
    (comp.arch)
  • Re: VBA macro stops executing on Word 2003 but works on Word XP
    ... The macro executes perfectly. ... Dim PatFullName() As String ... ' Load Provider Name into ProvPath var ...
    (microsoft.public.word.vba.general)
  • Re: VBA macro stops executing on Word 2003 but works on Word XP
    ... The macro executes perfectly. ... Dim PatFullName() As String ... ' Load Provider Name into ProvPath var ...
    (microsoft.public.word.vba.general)
  • Re: Problem when I boot...
    ... You have an invalid or remnant entry in a place used to load programs on ... What's likely is that a program neglected to enclose its load string ... enclose the string identifying the program within double quotes if it ... the spaces embedded in the paths to their executables. ...
    (microsoft.public.windowsxp.hardware)
  • Re: VBA macro stops executing on Word 2003 but works on Word XP
    ... Dim PatFullName() As String ... Dim ProgNotePathAndFileName As String ... ' Load Provider Name into ProvPath var ...
    (microsoft.public.word.vba.general)