<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>Coccigrep on To Linux and beyond !</title>
    <link>https://home.regit.org/tags/coccigrep/</link>
    <description>Recent content in Coccigrep on To Linux and beyond !</description>
    <generator>Hugo</generator>
    <language>fr</language>
    <lastBuildDate>Mon, 10 Sep 2012 15:22:02 +0000</lastBuildDate>
    <atom:link href="https://home.regit.org/feed/tags/coccigrep/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Coccigrep improved func operation</title>
      <link>https://home.regit.org/2012/09/coccigrep-improved-func-operation/</link>
      <pubDate>Mon, 10 Sep 2012 15:22:02 +0000</pubDate>
      <guid>https://home.regit.org/2012/09/coccigrep-improved-func-operation/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;https://home.regit.org/software/coccigrep/&#34;&gt;Coccigrep 1.11&lt;/a&gt; is now available and mainly features some improvements related to the &lt;em&gt;func&lt;/em&gt; search. The &lt;em&gt;func&lt;/em&gt; operation can be used to search when a structure is used as argument of a function. For example, to search where the Packet structures are freed inside Suricata project, one can run:&lt;/p&gt;
&lt;pre&gt;$ coccigrep -t Packet -a &#34;SCFree&#34; -o func src/
src/alert-unified2-alert.c:1156 (Packet *p):         SCFree(p);
src/alert-unified2-alert.c:1161 (Packet *p):         SCFree(p);
...
src/alert-unified2-alert.c:1368 (Packet *pkt):         SCFree(pkt);
&lt;/pre&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Set or unset define variables in Coccigrep</title>
      <link>https://home.regit.org/2012/07/set-or-unset-define-variables-in-coccigrep/</link>
      <pubDate>Tue, 31 Jul 2012 09:10:09 +0000</pubDate>
      <guid>https://home.regit.org/2012/07/set-or-unset-define-variables-in-coccigrep/</guid>
      <description>&lt;p&gt;Following a discussion with the great Julia Lawall, she added a new feature in &lt;a href=&#34;http://coccinelle.lip6.fr/&#34; target=&#34;_&#34;&gt;coccinelle&lt;/a&gt;: it is now possible to define as set or unset some variables. This option has been added in coccigrep 1.9 and requires coccinelle 1.0-rc14.&lt;/p&gt;
&lt;p&gt;For example, let’s have a code like Suricata where a lot of unit tests are implemented. The structure of the code is the following:&lt;/p&gt;
&lt;pre&gt;REGULAR CODE

#ifdef UNITTESTS
 TEST CODE
#endif
&lt;/pre&gt;
&lt;p&gt;When doing search in the regular code, you don’t want to be bothered by results found in the test code. To obtain this result, you can pass the &lt;em&gt;-U UNITTESTS&lt;/em&gt; option to coccigrep to tell him to consider UNITTESTS variable as undefined. If you want to define a variable, you can use the &lt;em&gt;-D&lt;/em&gt; flag.&lt;/p&gt;</description>
    </item>
    <item>
      <title>What’s new in coccigrep 1.6?</title>
      <link>https://home.regit.org/2011/11/whats-new-in-coccigrep-1-6/</link>
      <pubDate>Mon, 07 Nov 2011 23:07:29 +0000</pubDate>
      <guid>https://home.regit.org/2011/11/whats-new-in-coccigrep-1-6/</guid>
      <description>&lt;p&gt;I did not write any article on &lt;a href=&#34;http://home.regit.org/software/coccigrep/&#34;&gt;coccigrep&lt;/a&gt; since the 1.0 release. Here is an update on what has been added to the software since that release.&lt;/p&gt;
&lt;h2 id=&#34;c-support&#34;&gt;C++ support&lt;/h2&gt;
&lt;p&gt;&lt;a href=&#34;http://coccinelle.lip6.fr/&#34;&gt;Coccinelle&lt;/a&gt; has a basic C++ support which can be activated by using the &lt;em&gt;–cpp&lt;/em&gt; flag in &lt;/em&gt;coccigrep&lt;/em&gt;.&lt;/p&gt;
&lt;h2 id=&#34;patches-information&#34;&gt;Patches information&lt;/h2&gt;
&lt;p&gt;The &lt;em&gt;-L -v&lt;/em&gt; options on command line will display a description of the match available on the system.&lt;/p&gt;
&lt;pre&gt;$ coccigrep -L -v
set: Search where a given attribute of structure &#39;type&#39; is set
 * Confidence: 80%
 * Author: Eric Leblond &amp;lt;eric@regit.org&gt;
 * Arguments: type, attribute
 * Revision: 2&lt;/pre&gt;
&lt;p&gt;For the developer, this is obtained from structured comments put at the start of the cocci file:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Eric Leblond: Introduction to coccinelle</title>
      <link>https://home.regit.org/2011/08/eric-leblond-introduction-to-coccinelle/</link>
      <pubDate>Wed, 24 Aug 2011 14:00:59 +0000</pubDate>
      <guid>https://home.regit.org/2011/08/eric-leblond-introduction-to-coccinelle/</guid>
      <description>&lt;p&gt;The Netfilter workshop being a developer conference, I’ve decided to presente an introduction to the &lt;a href=&#34;http://coccinelle.lip6.fr/&#34;&gt;coccinelle&lt;/a&gt; tool. Coccinelle is a program matching and transformation engine for the C language which is used in many place and among them in the Linux kernel. It is able to perform C clever modification in the code. If you ever had to modify multiple code files following an API change, I invite you to have a look at the slides or my &lt;a href=&#34;http://home.regit.org/technical-articles/coccinelle-for-the-newbie/&#34;&gt;Coccinelle for the newbie&lt;/a&gt; page. I’ve also presented my &lt;a href=&#34;http://home.regit.org/software/coccigrep/&#34;&gt;coccigrep&lt;/a&gt; tool which is a easy to use semantic grep.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Coccigrep, a semantic grep for the C language</title>
      <link>https://home.regit.org/2011/08/coccigrep-a-semantic-grep-for-the-c-language/</link>
      <pubDate>Mon, 15 Aug 2011 07:28:38 +0000</pubDate>
      <guid>https://home.regit.org/2011/08/coccigrep-a-semantic-grep-for-the-c-language/</guid>
      <description>&lt;h2 id=&#34;introduction&#34;&gt;Introduction&lt;/h2&gt;
&lt;p&gt;When diving in some code with a relative important size, I’ve often ask myself: where is this attribute used for this structure ? Where it is set ? Using grep is not a good answer to theses questions: you can’t guess the name of the variable of a given type and even an attribute name can be shared between multiple structures. I was in need of a semantic grep!&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
