I'm testing a way to speed up the process, for trivial cases. This is the script I'm using.
#!/bin/bash for file in `../../tools/checkAPIs.pl -g emem packet-*.c 2>&1 | egrep "ep_alloc$" | awk ' { print $6 } ' | sed 's/://g'` do echo "patching $file" sed -i 's/#include <epan\/emem.h>/#include <epan\/wmem\/wmem.h>/g' $file sed -i 's/ep_alloc(/wmem_alloc(wmem_packet_scope(), /g' $file done I can open a bug with the output of this script, so we can share the result. On Thu, Sep 12, 2013 at 11:46 PM, Joerg Mayer <jma...@loplof.de> wrote: > Hello Kauschik, > > On Fri, Sep 13, 2013 at 02:53:50AM +0530, kaushik varanasi wrote: > > Can any of you brief me about what should be done. I would like to get > > involved and learn. > > Here is what I do (now) - I'm on Linux: > - cd epan/dissectors/ > - Pick a letter from the alphabet. > - grep emem.h packet-<letter>*.c > - ../../tools/checkAPI.pl -g emem packet-<letter>*.c > - Fix inconsistencies (remove includes for emem.h from files that don't > use ep_ or se_ functions, add the include where it is missing > - Go through all files that only contain "simple to convert" functions > + Replace the include statement and se_ and ep_ functions the way Evan > described, then compile and install libwireshark (I do: > "make -C epan install) > + run "tshark -v" to find obvious breakages. If it breaks, "svn revert" > the file > + Next file > - Commit my changes > > Maybe you can do this and once you have successfully converted the fist > file open a bug and attach your patch to it. Depending on the feedback > go over the patch again or (once sufficiently confident) finish all > dissectors for that letter and attach the patch to the previous bug again. > > Ciao > Jörg > > > > Unfortunately emem.h is included everywhere via packet.h via > > > packet_info.h via address.h, so there are dissectors that use it > > > without including it directly. check-APIs is more reliable since it > > > actually looks for the function calls. > > > > > > > > > > > > P.S. I have a few vim macros that I wrote to speed up the process. > I > > > can > > > > > share them if anybody using vim wants to help :) > > > > > > > > Sure, go ahead please. > > > > > > Put the following in your vimrc: > > > let @e = 'xxiwmem^[/(^Mawmem_packet_scope(), ^[/\<ep_^Mkj' > > > let @s = 'xxiwmem^[/(^Mawmem_file_scope(), ^[/\<se_^Mkj' > > > > > > Then the 'e' macro will convert an ep_* call and jump to the next one, > > > the 's' macro will convert an se_* call and jump to the next one. > > > These only work for functions like _alloc and _strdup, for > > > data-structures (like ep_strbuf_append) which take the data-structure > > > and not the scope as the first argument you will have to convert > > > manually still, but there are not many of those. > > > > > > On Thu, Sep 12, 2013 at 11:54 AM, Dario Lombardo > > > <dario.lombardo...@gmail.com> wrote: > > > > > > > > On Thu, Sep 12, 2013 at 5:36 PM, Joerg Mayer <jma...@loplof.de> > wrote: > > > >> > > > >> So if we could split this between a few people at least the trivial > part > > > >> could be done quickly. > > > > > > > > > > > > Can you please show us what should be done? I could get a part of it > if > > > it's clear what to do. > > > > > > The doc/README.wmem section 2.1.1 includes a brief example of how > > > calls can be replaced. You can also take a look at some of my (and > > > Joerg's) previous commits doing conversion. > > -- > Joerg Mayer <jma...@loplof.de> > We are stuck with technology when what we really want is just stuff that > works. Some say that should read Microsoft instead of technology. > ___________________________________________________________________________ > Sent via: Wireshark-dev mailing list <wireshark-dev@wireshark.org> > Archives: http://www.wireshark.org/lists/wireshark-dev > Unsubscribe: https://wireshark.org/mailman/options/wireshark-dev > mailto:wireshark-dev-requ...@wireshark.org > ?subject=unsubscribe
___________________________________________________________________________ Sent via: Wireshark-dev mailing list <wireshark-dev@wireshark.org> Archives: http://www.wireshark.org/lists/wireshark-dev Unsubscribe: https://wireshark.org/mailman/options/wireshark-dev mailto:wireshark-dev-requ...@wireshark.org?subject=unsubscribe