<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>EmbLogic &#187; C++</title>
	<atom:link href="https://www.emblogic.com/blog/tag/c/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.emblogic.com/blog</link>
	<description>Embedded System and ARM Training</description>
	<lastBuildDate>Tue, 03 Mar 2020 13:00:06 +0000</lastBuildDate>
	<language>en-US</language>
		<sy:updatePeriod>hourly</sy:updatePeriod>
		<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.9.1</generator>
	<item>
		<title>Different methods of swapping 2 numbers</title>
		<link>https://www.emblogic.com/blog/09/different-methods-of-swapping-2-numbers/</link>
		<comments>https://www.emblogic.com/blog/09/different-methods-of-swapping-2-numbers/#comments</comments>
		<pubDate>Tue, 20 Sep 2016 15:10:38 +0000</pubDate>
		<dc:creator><![CDATA[Ankur Garg]]></dc:creator>
				<category><![CDATA[Data Structures with C]]></category>
		<category><![CDATA[arithmetic]]></category>
		<category><![CDATA[bitwise]]></category>
		<category><![CDATA[C++]]></category>
		<category><![CDATA[gcc]]></category>
		<category><![CDATA[vim]]></category>

		<guid isPermaLink="false">http://www.emblogic.com/blog/?p=13684</guid>
		<description><![CDATA[#include&#60;stdio.h&#62; void swap(int *,int *); int main() { int temp; int *t; int a=100,b=200; //Using 3 variables //1.1 temp = a; a = b; b = temp; printf(&#8220;%d %d\n&#8221;,a,b); //1.2 swap(&#38;a,&#38;b); printf(&#8220;%d %d\n&#8221;,a,b); //Using 2 variables //2.1 a += b; &#8230; <a href="https://www.emblogic.com/blog/09/different-methods-of-swapping-2-numbers/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>#include&lt;stdio.h&gt;<br />
void swap(int *,int *);</p>
<p>int main()<br />
{<br />
int temp;<br />
int *t;<br />
int a=100,b=200;<br />
//Using 3 variables<br />
//1.1<br />
temp = a;<br />
a = b;<br />
b = temp;<br />
printf(&#8220;%d %d\n&#8221;,a,b);<br />
//1.2<br />
swap(&amp;a,&amp;b);<br />
printf(&#8220;%d %d\n&#8221;,a,b);</p>
<p>//Using 2 variables<br />
//2.1<br />
a += b;<br />
b = a-b;<br />
a = a-b;<br />
printf(&#8220;%d %d\n&#8221;,a,b);<br />
//2.2<br />
if(a!=0 &amp;&amp; b!=0)<br />
{<br />
a *= b;<br />
b = a/b;<br />
a = a/b;<br />
printf(&#8220;%d %d\n&#8221;,a,b);<br />
}<br />
//2.3<br />
a = a^b;<br />
b = a^b;<br />
a = a^b;<br />
printf(&#8220;%d %d\n&#8221;,a,b);<br />
//Using 2 variables in single step<br />
//3.1<br />
a = b+a-(b=a);<br />
printf(&#8220;%d %d\n&#8221;,a,b);<br />
//3.2<br />
a = b*a/(b=a);<br />
printf(&#8220;%d %d\n&#8221;,a,b);<br />
//3.3<br />
a ^=b^=a^=b;<br />
printf(&#8220;%d %d\n&#8221;,a,b);<br />
return 0;<br />
}<br />
void swap(int *x,int *y)<br />
{<br />
int tmp;<br />
tmp = *x;<br />
*x = *y;<br />
*y = tmp;<br />
}</p>
]]></content:encoded>
			<wfw:commentRss>https://www.emblogic.com/blog/09/different-methods-of-swapping-2-numbers/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Errors in &#8220;Hello World&#8221; program</title>
		<link>https://www.emblogic.com/blog/09/errors-in-hello-world-program/</link>
		<comments>https://www.emblogic.com/blog/09/errors-in-hello-world-program/#comments</comments>
		<pubDate>Mon, 19 Sep 2016 17:31:16 +0000</pubDate>
		<dc:creator><![CDATA[Ankur Garg]]></dc:creator>
				<category><![CDATA[Data Structures with C]]></category>
		<category><![CDATA[#1st program in c]]></category>
		<category><![CDATA[#errors]]></category>
		<category><![CDATA[#Hello World]]></category>
		<category><![CDATA[#Warnings]]></category>
		<category><![CDATA[C++]]></category>
		<category><![CDATA[gcc]]></category>
		<category><![CDATA[vim]]></category>

		<guid isPermaLink="false">http://www.emblogic.com/blog/?p=13682</guid>
		<description><![CDATA[#include&#60;stdio.h&#62; int main() { printf(&#8220;Hello World&#8221;); return 0; } /* Errors Line 1 :- *1. If u remove only preprocessor (#)-&#62;error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘&#60;’ token *2.#nclude&#60;stdio.h&#62; -&#62;  error: invalid preprocessing directive #nclude *3. #include &#8230; <a href="https://www.emblogic.com/blog/09/errors-in-hello-world-program/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>#include&lt;stdio.h&gt;<br />
int main()<br />
{<br />
printf(&#8220;Hello World&#8221;);<br />
return 0;<br />
}<br />
/* Errors<br />
Line 1 :-<br />
*1. If u remove only preprocessor (#)-&gt;error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘&lt;’ token<br />
*2.#nclude&lt;stdio.h&gt; -&gt;  error: invalid preprocessing directive #nclude<br />
*3. #include -&gt; error: #include expects &#8220;FILENAME&#8221; or &lt;FILENAME&gt;<br />
*4,5 #include&lt;  -&gt; error: missing terminating &gt; character<br />
#include&lt;&gt;    error: empty filename in #include<br />
#include&lt;stdio.h  -&gt; 4th error<br />
*6. #include&lt;stdio&gt; -&gt; fatal error: stdio: No such file or directory</p>
<p>Line 2 :-<br />
*7. int main(  -&gt; error: expected declaration specifiers or ‘&#8230;’ before ‘{’ token<br />
*8. int main   -&gt; error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘{’ token<br />
*9. in main()  -&gt; error: unknown type name ‘in’<br />
*10. int main(*) -&gt; error: expected declaration specifiers or ‘&#8230;’ before ‘*’ token<br />
*11. int main(&#8216;) -&gt;  error: missing terminating &#8216; character<br />
*12. If no main() -&gt; error: expected identifier or ‘(’ before ‘{’ token</p>
<p>Line 3 :-<br />
*13. if no {  -&gt; error: expected declaration specifiers before ‘printf’<br />
error: expected declaration specifiers before ‘return’<br />
error: expected declaration specifiers before ‘}’ token<br />
*14. ..{  -&gt; error: expected ‘{’ at end of input<br />
*15. {..  -&gt; error: expected expression before ‘.’ token</p>
<p>Line 4 :-<br />
*16. printf(&#8220;Hello World&#8221;). -&gt; error: expected identifier before ‘return’<br />
*17. printf(&#8220;Hello World&#8221;) -&gt; error: expected ; before ‘return’<br />
*18. printf(&#8220;Hello World&#8221;) -&gt; error: expected ‘)’ before ‘;’ token<br />
error: expected ‘;’ before ‘}’ token<br />
*19. print(&#8220;Hello World&#8221;)  -&gt; undefined reference to `print&#8217;<br />
*20. print(Hello World)  -&gt; error: ‘Hello’ undeclared (first use in this function)<br />
*21. print(&#8220;Hello World)  -&gt; warning: missing terminating &#8221; character [enabled by default]<br />
error: missing terminating &#8221; character<br />
error: expected expression before ‘return’<br />
error: expected ‘;’ before ‘}’ token<br />
Line 5 :-<br />
*22. return c; -&gt; error: ‘c’ undeclared (first use in this function)<br />
Line 6 :-<br />
*23. missing } -&gt; error: expected declaration or statement at end of inpu</p>
<p>*/</p>
<p>/* Warnings</p>
<p>w1. If u remove header -&gt; warning: incompatible implicit declaration of built-in function ‘printf’<br />
*w2. #include&lt;stdio.h&gt; -&gt; warning: extra tokens at end of #include directive [enabled by default]<br />
*w3. return NULL       -&gt; warning: return makes integer from pointer without a cast</p>
<p>*/ Special Case :-<br />
/* ; -&gt; You can freely put ; or ;; anywhere in main (before fn., after fn., blank line etc.)<br />
*      Except you can&#8217;t put ; after main();<br />
*      ;int main() -&gt; Valid<br />
*      {; -&gt;         Valid<br />
*      }; -&gt;         Valid<br />
*      printf(&#8220;Hello World&#8221;);; -&gt; Valid<br />
*    Shows warning if used after #include&lt;stdio.h&gt;;<br />
*/</p>
]]></content:encoded>
			<wfw:commentRss>https://www.emblogic.com/blog/09/errors-in-hello-world-program/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Client Server communication in IPC using FIFO for 3 clients</title>
		<link>https://www.emblogic.com/blog/01/client-server-communication-in-ipc-using-fifo-for-3-clients/</link>
		<comments>https://www.emblogic.com/blog/01/client-server-communication-in-ipc-using-fifo-for-3-clients/#comments</comments>
		<pubDate>Wed, 06 Jan 2016 05:35:31 +0000</pubDate>
		<dc:creator><![CDATA[Ankur Garg]]></dc:creator>
				<category><![CDATA[Project 03: Client Server Communication using Linux and IPC]]></category>
		<category><![CDATA[C++]]></category>
		<category><![CDATA[client-server]]></category>
		<category><![CDATA[embedded c]]></category>
		<category><![CDATA[Embedded Linux]]></category>
		<category><![CDATA[fedora]]></category>
		<category><![CDATA[FIFO]]></category>
		<category><![CDATA[ipc]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[pipes]]></category>
		<category><![CDATA[server]]></category>

		<guid isPermaLink="false">http://www.emblogic.com/blog/?p=13118</guid>
		<description><![CDATA[Logfile of Project &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211; &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211; RCS file: header.h,v Working file: header.h head: 1.1 branch: locks: strict root: 1.1 access list: symbolic names: keyword substitution: kv total revisions: 1;    selected revisions: 1 description: It includes basic headerfiles for FIFOs. It contains &#8230; <a href="https://www.emblogic.com/blog/01/client-server-communication-in-ipc-using-fifo-for-3-clients/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>Logfile of Project</p>
<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;</p>
<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;<br />
RCS file: header.h,v<br />
Working file: header.h<br />
head: 1.1<br />
branch:<br />
locks: strict<br />
root: 1.1<br />
access list:<br />
symbolic names:<br />
keyword substitution: kv<br />
total revisions: 1;    selected revisions: 1<br />
description:<br />
It includes basic headerfiles for FIFOs.<br />
It contains stdio.h, fcntl.h, unistd.h, sys/types.h, sys/stat.h<br />
It contains #ifndef HEADERS to avoid multiple declaration of heders by differnt files.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.1    locked by: root;<br />
date: 2015/12/21 04:54:01;  author: root;  state: Exp;<br />
Initial revision<br />
=============================================================================</p>
<p>RCS file: request.h,v<br />
Working file: request.h<br />
head: 1.7<br />
branch:<br />
locks: strict<br />
root: 1.7<br />
access list:<br />
symbolic names:<br />
keyword substitution: kv<br />
total revisions: 7;    selected revisions: 7<br />
description:<br />
It contains struct request<br />
It is format of basic client request.<br />
It contains client PID, 2 objects,operation to be performed.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.7    locked by: root;<br />
date: 2015/12/21 05:56:59;  author: root;  state: Exp;  lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.6<br />
date: 2015/12/21 05:52:10;  author: root;  state: Exp;  lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.5<br />
date: 2015/12/21 05:50:03;  author: root;  state: Exp;  lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.4<br />
date: 2015/12/21 05:46:10;  author: root;  state: Exp;  lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.3<br />
date: 2015/12/21 05:32:51;  author: root;  state: Exp;  lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.2<br />
date: 2015/12/21 05:27:31;  author: root;  state: Exp;  lines: +1 -1<br />
Macro of REQUESTFIFO is redefined which contains a %d which will be its PID.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.1<br />
date: 2015/12/21 04:56:38;  author: root;  state: Exp;<br />
Initial revision<br />
=============================================================================</p>
<p>RCS file: adder.c,v<br />
Working file: adder.c<br />
head: 1.1<br />
branch:<br />
locks: strict<br />
root: 1.1<br />
access list:<br />
symbolic names:<br />
keyword substitution: kv<br />
total revisions: 1;    selected revisions: 1<br />
description:<br />
adder has command line arguments which contains File Descriptors of pipe.<br />
adder read request from server for adding 2 objects<br />
adder write result(int) into server.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.1    locked by: root;<br />
date: 2015/12/21 04:40:12;  author: root;  state: Exp;<br />
Initial revision<br />
=============================================================================</p>
<p>RCS file: client1.c,v<br />
Working file: client1.c<br />
head: 1.14<br />
branch:<br />
locks: strict<br />
root: 1.14<br />
access list:<br />
symbolic names:<br />
keyword substitution: kv<br />
total revisions: 14;    selected revisions: 14<br />
description:<br />
It open the requestfifo<br />
Write request for addition using struct request to server<br />
Then, it reads result(int) from server.<br />
Before reading result &#8220;resultfifo&#8221; is being created by client.<br />
Different clients uses same requestfifo but they have unique resultfifo which is created by client itself.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.14    locked by: root;<br />
date: 2015/12/21 06:16:33;  author: root;  state: Exp;  lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.13<br />
date: 2015/12/21 06:11:20;  author: root;  state: Exp;  lines: +7 -7<br />
name of arr changes to client_fifo<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.12<br />
date: 2015/12/21 05:59:17;  author: root;  state: Exp;  lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.11<br />
date: 2015/12/21 05:56:32;  author: root;  state: Exp;  lines: +3 -3<br />
arr data type changes from char * to string.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.10<br />
date: 2015/12/21 05:52:06;  author: root;  state: Exp;  lines: +2 -2<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.9<br />
date: 2015/12/21 05:50:02;  author: root;  state: Exp;  lines: +2 -2<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.8<br />
date: 2015/12/21 05:46:08;  author: root;  state: Exp;  lines: +2 -2<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.7<br />
date: 2015/12/21 05:41:58;  author: root;  state: Exp;  lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.6<br />
date: 2015/12/21 05:39:43;  author: root;  state: Exp;  lines: +2 -2<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.5<br />
date: 2015/12/21 05:35:20;  author: root;  state: Exp;  lines: +2 -2<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.4<br />
date: 2015/12/21 05:34:03;  author: root;  state: Exp;  lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.3<br />
date: 2015/12/21 05:32:47;  author: root;  state: Exp;  lines: +1 -0<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.2<br />
date: 2015/12/21 05:27:08;  author: root;  state: Exp;  lines: +3 -1<br />
sprintf() is used for creating client address.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.1<br />
date: 2015/12/21 04:42:31;  author: root;  state: Exp;<br />
Initial revision<br />
=============================================================================</p>
<p>RCS file: client2.c,v<br />
Working file: client2.c<br />
head: 1.2<br />
branch:<br />
locks: strict<br />
root: 1.2<br />
access list:<br />
symbolic names:<br />
keyword substitution: kv<br />
total revisions: 2;    selected revisions: 2<br />
description:<br />
client2 request for subtraction from the server.<br />
It writes its request from requestfifo.<br />
And it creates the resultfifo.<br />
And it reads result from server through resultfifo.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.2    locked by: root;<br />
date: 2015/12/21 06:36:30;  author: root;  state: Exp;  lines: +7 -4<br />
client_fifo is introduced.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.1<br />
date: 2015/12/21 05:09:19;  author: root;  state: Exp;<br />
Initial revision<br />
=============================================================================</p>
<p>RCS file: client3.c,v<br />
Working file: client3.c<br />
head: 1.3<br />
branch:<br />
locks: strict<br />
root: 1.3<br />
access list:<br />
symbolic names:<br />
keyword substitution: kv<br />
total revisions: 3;    selected revisions: 3<br />
description:<br />
This client request for multiplication.<br />
It writes request to server through requestfifo.<br />
It creates resultfifo.<br />
It reads result from server through resultfifo.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.3    locked by: root;<br />
date: 2015/12/21 06:37:03;  author: root;  state: Exp;  lines: +7 -4<br />
client_fifo is introduced.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.2<br />
date: 2015/12/21 05:16:34;  author: root;  state: Exp;  lines: +1 -1<br />
Values of objects changed.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.1<br />
date: 2015/12/21 05:14:09;  author: root;  state: Exp;<br />
Initial revision<br />
=============================================================================</p>
<p>RCS file: multiplier.c,v<br />
Working file: multiplier.c<br />
head: 1.1<br />
branch:<br />
locks: strict<br />
root: 1.1<br />
access list:<br />
symbolic names:<br />
keyword substitution: kv<br />
total revisions: 1;    selected revisions: 1<br />
description:<br />
It read request from server from pipe for multiplication purpose.<br />
It prosses the request and get the result.<br />
result is written to server through pipe.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.1    locked by: root;<br />
date: 2015/12/21 04:46:24;  author: root;  state: Exp;<br />
Initial revision<br />
=============================================================================</p>
<p>RCS file: server.c,v<br />
Working file: server.c<br />
head: 1.6<br />
branch:<br />
locks: strict<br />
root: 1.6<br />
access list:<br />
symbolic names:<br />
keyword substitution: kv<br />
total revisions: 6;    selected revisions: 6<br />
description:<br />
Ii can handle only 1 client in this revision.<br />
requestfifo is created.<br />
It reads the request from client.<br />
A pipe is created by server.<br />
This pipe is used to send request to adder.<br />
Then, it read result(int) from adder.<br />
through pipe.<br />
It writes result to the client using resultfifo (of respectice client).<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.6    locked by: root;<br />
date: 2015/12/21 06:18:23;  author: root;  state: Exp;  lines: +1 -1<br />
client_fifo data type changes from char to string.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.5<br />
date: 2015/12/21 06:16:43;  author: root;  state: Exp;  lines: +1 -1<br />
sprintf() is used for getting RESULTFIFO name.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.4<br />
date: 2015/12/21 06:11:34;  author: root;  state: Exp;  lines: +3 -1<br />
client_fifo is used for RESULT_FIFO.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.3<br />
date: 2015/12/21 05:06:34;  author: root;  state: Exp;  lines: +3 -3<br />
+,-,* are replaced by &#8216;+&#8217;,&#8217;-&#8217;,&#8217;*&#8217; respectively in switch case of operation.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.2<br />
date: 2015/12/21 05:04:10;  author: root;  state: Exp;  lines: +13 -3<br />
execl() for subtractor and multiplier are also included along with addition in a switch case which depend on operand of the request by the client.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.1<br />
date: 2015/12/21 04:47:51;  author: root;  state: Exp;<br />
Initial revision<br />
=============================================================================</p>
<p>RCS file: subtractor.c,v<br />
Working file: subtractor.c<br />
head: 1.1<br />
branch:<br />
locks: strict<br />
root: 1.1<br />
access list:<br />
symbolic names:<br />
keyword substitution: kv<br />
total revisions: 1;    selected revisions: 1<br />
description:<br />
It reads request from server through pipe for subtraction purpose.<br />
It processes the request and get the result.<br />
result is send to server by the pipe.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.1    locked by: root;<br />
date: 2015/12/21 04:52:26;  author: root;  state: Exp;<br />
Initial revision<br />
=============================================================================</p>
]]></content:encoded>
			<wfw:commentRss>https://www.emblogic.com/blog/01/client-server-communication-in-ipc-using-fifo-for-3-clients/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Client Server Communication using FIFO for single server and a client when result FIFO created by client</title>
		<link>https://www.emblogic.com/blog/01/c-using-fifo-for-single-server-and-a-client-when-result-fifo-created-by-client/</link>
		<comments>https://www.emblogic.com/blog/01/c-using-fifo-for-single-server-and-a-client-when-result-fifo-created-by-client/#comments</comments>
		<pubDate>Sun, 03 Jan 2016 08:17:50 +0000</pubDate>
		<dc:creator><![CDATA[Ankur Garg]]></dc:creator>
				<category><![CDATA[Project 03: Client Server Communication using Linux and IPC]]></category>
		<category><![CDATA[C++]]></category>
		<category><![CDATA[client-server]]></category>
		<category><![CDATA[embedded c]]></category>
		<category><![CDATA[Embedded Linux]]></category>
		<category><![CDATA[fedora]]></category>
		<category><![CDATA[FIFO]]></category>
		<category><![CDATA[ipc]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[pipes]]></category>

		<guid isPermaLink="false">http://www.emblogic.com/blog/?p=13114</guid>
		<description><![CDATA[Logfile of Project &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212; &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212; RCS file: header.h,v Working file: header.h head: 1.2 branch: locks: strict root: 1.2 access list: symbolic names: keyword substitution: kv total revisions: 2;    selected revisions: 2 description: It contains basic header files for communication using &#8230; <a href="https://www.emblogic.com/blog/01/c-using-fifo-for-single-server-and-a-client-when-result-fifo-created-by-client/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>Logfile of Project</p>
<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;</p>
<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;<br />
RCS file: header.h,v<br />
Working file: header.h<br />
head: 1.2<br />
branch:<br />
locks: strict<br />
root: 1.2<br />
access list:<br />
symbolic names:<br />
keyword substitution: kv<br />
total revisions: 2;    selected revisions: 2<br />
description:<br />
It contains basic header files for communication using FIFO.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.2    locked by: root;<br />
date: 2015/12/20 23:20:47;  author: root;  state: Exp;  lines: +2 -2<br />
It is prevented from multiple declarations.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.1<br />
date: 2015/12/20 23:18:12;  author: root;  state: Exp;<br />
Initial revision<br />
=============================================================================</p>
<p>RCS file: request.h,v<br />
Working file: request.h<br />
head: 1.5<br />
branch:<br />
locks: strict<br />
root: 1.5<br />
access list:<br />
symbolic names:<br />
keyword substitution: kv<br />
total revisions: 5;    selected revisions: 5<br />
description:<br />
This is format of client request.<br />
it contains client pid, operator and 2 objects(int).<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.5    locked by: root;<br />
date: 2015/12/21 04:27:36;  author: root;  state: Exp;  lines: +2 -2<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.4<br />
date: 2015/12/21 04:26:40;  author: root;  state: Exp;  lines: +2 -2<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.3<br />
date: 2015/12/21 03:53:15;  author: root;  state: Exp;  lines: +3 -0<br />
macro REQUESTFIFO and RESULTFIFO are defined.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.2<br />
date: 2015/12/21 01:32:02;  author: root;  state: Exp;  lines: +1 -1<br />
name of cpid changes to pid.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.1<br />
date: 2015/12/20 23:18:41;  author: root;  state: Exp;<br />
Initial revision<br />
=============================================================================</p>
<p>RCS file: adder.c,v<br />
Working file: adder.c<br />
head: 1.1<br />
branch:<br />
locks: strict<br />
root: 1.1<br />
access list:<br />
symbolic names:<br />
keyword substitution: kv<br />
total revisions: 1;    selected revisions: 1<br />
description:<br />
It is a function for adding.<br />
It reads request from server as struct request and write result to server in int format through pipe.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.1    locked by: root;<br />
date: 2015/12/21 02:02:20;  author: root;  state: Exp;<br />
Initial revision<br />
=============================================================================</p>
<p>RCS file: client1.c,v<br />
Working file: client1.c<br />
head: 1.22<br />
branch:<br />
locks: strict<br />
root: 1.22<br />
access list:<br />
symbolic names:<br />
keyword substitution: kv<br />
total revisions: 22;    selected revisions: 22<br />
description:<br />
client open the requestfifo.<br />
client writes some text into i.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.22    locked by: root;<br />
date: 2015/12/21 04:29:45;  author: root;  state: Exp;  lines: +4 -4<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.21<br />
date: 2015/12/21 04:09:45;  author: root;  state: Exp;  lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.20<br />
date: 2015/12/21 04:08:24;  author: root;  state: Exp;  lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.19<br />
date: 2015/12/21 04:07:12;  author: root;  state: Exp;  lines: +2 -2<br />
ce<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.18<br />
date: 2015/12/21 03:57:01;  author: root;  state: Exp;  lines: +4 -4<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.17<br />
date: 2015/12/21 03:52:08;  author: root;  state: Exp;  lines: +6 -6<br />
requestfifo is replaced by REQUESTFIFO<br />
resultfifo is replaced by RESULTFIFO<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.16<br />
date: 2015/12/21 03:17:55;  author: root;  state: Exp;  lines: +10 -1<br />
Now, client creates resultfifo.<br />
resultfifo is open in mode 666.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.15<br />
date: 2015/12/21 02:52:59;  author: root;  state: Exp;  lines: +1 -1<br />
sleep time increse from 4 to 8.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.14<br />
date: 2015/12/21 02:49:55;  author: root;  state: Exp;  lines: +2 -2<br />
name of requestfifo corrected to resultfifo.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.13<br />
date: 2015/12/21 02:42:57;  author: root;  state: Exp;  lines: +1 -1<br />
sleep time reduced to 4 from 10.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.12<br />
date: 2015/12/21 02:34:15;  author: root;  state: Exp;  lines: +2 -1<br />
sleep(10) added.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.11<br />
date: 2015/12/21 02:24:59;  author: root;  state: Exp;  lines: +31 -6<br />
Client reads result from server.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.10<br />
date: 2015/12/21 01:33:51;  author: root;  state: Exp;  lines: +1 -1<br />
buff is removed.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.9<br />
date: 2015/12/21 01:31:01;  author: root;  state: Exp;  lines: +13 -4<br />
Server reading request.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.8<br />
date: 2015/12/21 01:12:53;  author: root;  state: Exp;  lines: +2 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.7<br />
date: 2015/12/21 00:03:08;  author: root;  state: Exp;  lines: +1 -0<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.6<br />
date: 2015/12/21 00:00:49;  author: root;  state: Exp;  lines: +2 -2<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.5<br />
date: 2015/12/20 23:59:50;  author: root;  state: Exp;  lines: +2 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.4<br />
date: 2015/12/20 23:56:41;  author: root;  state: Exp;  lines: +2 -3<br />
A character is written to FIF<br />
O.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.3<br />
date: 2015/12/20 23:45:04;  author: root;  state: Exp;  lines: +2 -0<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.2<br />
date: 2015/12/20 23:39:19;  author: root;  state: Exp;  lines: +2 -2<br />
some print statements added.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.1<br />
date: 2015/12/20 23:11:52;  author: root;  state: Exp;<br />
Initial revision<br />
=============================================================================</p>
<p>RCS file: server.c,v<br />
Working file: server.c<br />
head: 1.37<br />
branch:<br />
locks: strict<br />
root: 1.37<br />
access list:<br />
symbolic names:<br />
keyword substitution: kv<br />
total revisions: 37;    selected revisions: 37<br />
description:<br />
Server creates requestfifo using mkfifo() function.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.37    locked by: root;<br />
date: 2015/12/21 04:29:53;  author: root;  state: Exp;  lines: +2 -2<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.36<br />
date: 2015/12/21 04:24:47;  author: root;  state: Exp;  lines: +2 -2<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.35<br />
date: 2015/12/21 04:09:47;  author: root;  state: Exp;  lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.34<br />
date: 2015/12/21 04:08:25;  author: root;  state: Exp;  lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.33<br />
date: 2015/12/21 04:07:16;  author: root;  state: Exp;  lines: +2 -2<br />
ce<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.32<br />
date: 2015/12/21 03:57:02;  author: root;  state: Exp;  lines: +6 -6<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.31<br />
date: 2015/12/21 03:52:55;  author: root;  state: Exp;  lines: +11 -11<br />
requestfifo is replaced by REQUESTFIFO<br />
&gt;&gt; resultfifo is replaced by RESULTFIFO<br />
&gt;&gt; .<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.30<br />
date: 2015/12/21 03:18:28;  author: root;  state: Exp;  lines: +4 -0<br />
server write result into resultfifo.<br />
server do not create resultfifo from now.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.29<br />
date: 2015/12/21 02:55:05;  author: root;  state: Exp;  lines: +1 -1<br />
printing changes.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.28<br />
date: 2015/12/21 02:41:37;  author: root;  state: Exp;  lines: +3 -0<br />
adding print statements.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.27<br />
date: 2015/12/21 02:37:45;  author: root;  state: Exp;  lines: +1 -1<br />
ce<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.26<br />
date: 2015/12/21 02:34:32;  author: root;  state: Exp;  lines: +1 -1<br />
sleep(1) added.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.25<br />
date: 2015/12/21 02:28:43;  author: root;  state: Exp;  lines: +1 -1<br />
Problem in passing argument to write.<br />
It is an address.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.24<br />
date: 2015/12/21 02:28:08;  author: root;  state: Exp;  lines: +2 -2<br />
ce<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.23<br />
date: 2015/12/21 02:27:11;  author: root;  state: Exp;  lines: +1 -1<br />
ce<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.22<br />
date: 2015/12/21 02:25:30;  author: root;  state: Exp;  lines: +4 -3<br />
Server writes result to client.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.21<br />
date: 2015/12/21 02:12:44;  author: root;  state: Exp;  lines: +1 -1<br />
sleep(1) is added between writing request and reading result from adder.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.20<br />
date: 2015/12/21 02:11:10;  author: root;  state: Exp;  lines: +1 -1<br />
data type of char rfd,wfd changes to char rfd[4],wfd[4]<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.19<br />
date: 2015/12/21 02:09:06;  author: root;  state: Exp;  lines: +1 -1<br />
rfd and wfd of pipe which are to be send to adder using execl .<br />
Ther data type corrected from int to char.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.18<br />
date: 2015/12/21 02:07:13;  author: root;  state: Exp;  lines: +1 -1<br />
data type of arr is corrected.<br />
arr is array of pipe.<br />
It changes from char to int.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.17<br />
date: 2015/12/21 02:03:54;  author: root;  state: Exp;  lines: +62 -11<br />
Server writes request to adder() for calculation.<br />
It creates a pipe using pipe() and execl()<br />
It reads result from adder() after calculation.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.16<br />
date: 2015/12/21 01:31:12;  author: root;  state: Exp;  lines: +5 -3<br />
Server reading request and client writing request.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.15<br />
date: 2015/12/21 01:14:24;  author: root;  state: Exp;  lines: +1 -1<br />
wrfifo open in read mode.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.14<br />
date: 2015/12/21 01:12:55;  author: root;  state: Exp;  lines: +1 -0<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.13<br />
date: 2015/12/21 01:07:00;  author: root;  state: Exp;  lines: +2 -2<br />
open() command given to requestfifo()<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.12<br />
date: 2015/12/21 01:01:40;  author: root;  state: Exp;  lines: +1 -1<br />
sleep changes from 2 to 10.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.11<br />
date: 2015/12/21 00:04:48;  author: root;  state: Exp;  lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.10<br />
date: 2015/12/21 00:03:10;  author: root;  state: Exp;  lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.9<br />
date: 2015/12/20 23:57:01;  author: root;  state: Exp;  lines: +3 -3<br />
A character is read from fifo.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.8<br />
date: 2015/12/20 23:53:41;  author: root;  state: Exp;  lines: +1 -1<br />
mode changes from 666 to 777.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.7<br />
date: 2015/12/20 23:46:29;  author: root;  state: Exp;  lines: +1 -1<br />
mode of requestfifo is corrected.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.6<br />
date: 2015/12/20 23:41:16;  author: root;  state: Exp;  lines: +1 -0<br />
sleep(2) is given before read.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.5<br />
date: 2015/12/20 23:31:17;  author: root;  state: Exp;  lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.4<br />
date: 2015/12/20 23:26:07;  author: root;  state: Exp;  lines: +2 -2<br />
Spelling mistake corrected<br />
acces changes to access()<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.3<br />
date: 2015/12/20 23:23:11;  author: root;  state: Exp;  lines: +1 -1<br />
; mistake.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.2<br />
date: 2015/12/20 23:22:31;  author: root;  state: Exp;  lines: +2 -2<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.1<br />
date: 2015/12/20 23:12:38;  author: root;  state: Exp;<br />
Initial revision<br />
=============================================================================</p>
]]></content:encoded>
			<wfw:commentRss>https://www.emblogic.com/blog/01/c-using-fifo-for-single-server-and-a-client-when-result-fifo-created-by-client/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>IPC using Pipes for single user</title>
		<link>https://www.emblogic.com/blog/12/ipc-using-pipes-for-single-user/</link>
		<comments>https://www.emblogic.com/blog/12/ipc-using-pipes-for-single-user/#comments</comments>
		<pubDate>Wed, 30 Dec 2015 07:32:08 +0000</pubDate>
		<dc:creator><![CDATA[Ankur Garg]]></dc:creator>
				<category><![CDATA[Project 03: Client Server Communication using Linux and IPC]]></category>
		<category><![CDATA[C++]]></category>
		<category><![CDATA[Embedded Linux]]></category>
		<category><![CDATA[ipc]]></category>
		<category><![CDATA[ipc pipes]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[pipes]]></category>

		<guid isPermaLink="false">http://www.emblogic.com/blog/?p=13097</guid>
		<description><![CDATA[RCS file: header.h,v Working file: header.h head: 1.2 branch: locks: strict root: 1.2 access list: symbolic names: keyword substitution: kv total revisions: 2;    selected revisions: 2 description: stdio.h , fcntl.h, unistd.h, sys/types.h are included. &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;- revision 1.2    locked by: root; &#8230; <a href="https://www.emblogic.com/blog/12/ipc-using-pipes-for-single-user/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>RCS file: header.h,v<br />
Working file: header.h<br />
head: 1.2<br />
branch:<br />
locks: strict<br />
root: 1.2<br />
access list:<br />
symbolic names:<br />
keyword substitution: kv<br />
total revisions: 2;    selected revisions: 2<br />
description:<br />
stdio.h , fcntl.h, unistd.h, sys/types.h are included.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.2    locked by: root;<br />
date: 2015/12/20 20:30:34;  author: root;  state: Exp;  lines: +0 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.1<br />
date: 2015/12/20 20:01:44;  author: root;  state: Exp;<br />
Initial revision<br />
=============================================================================</p>
<p>RCS file: request.h,v<br />
Working file: request.h<br />
head: 1.1<br />
branch:<br />
locks: strict<br />
root: 1.1<br />
access list:<br />
symbolic names:<br />
keyword substitution: kv<br />
total revisions: 1;    selected revisions: 1<br />
description:<br />
It contains structure of request.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.1    locked by: root;<br />
date: 2015/12/20 20:01:44;  author: root;  state: Exp;<br />
Initial revision<br />
=============================================================================</p>
<p>RCS file: adder.c,v<br />
Working file: adder.c<br />
head: 1.4<br />
branch:<br />
locks: strict<br />
root: 1.4<br />
access list:<br />
symbolic names:<br />
keyword substitution: kv<br />
total revisions: 4;    selected revisions: 4<br />
description:<br />
A function for adding obj1 and obj2 which is contained in request received.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.4    locked by: root;<br />
date: 2015/12/20 21:52:27;  author: root;  state: Exp;  lines: +4 -4<br />
Printing changes.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.3<br />
date: 2015/12/20 21:32:16;  author: root;  state: Exp;  lines: +1 -0<br />
Printing mistake corrected.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.2<br />
date: 2015/12/20 21:22:32;  author: root;  state: Exp;  lines: +12 -4<br />
Result is sent to server.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.1<br />
date: 2015/12/20 21:06:23;  author: root;  state: Exp;<br />
Initial revision<br />
=============================================================================</p>
<p>RCS file: client1.c,v<br />
Working file: client1.c<br />
head: 1.13<br />
branch:<br />
locks: strict<br />
root: 1.13<br />
access list:<br />
symbolic names:<br />
keyword substitution: kv<br />
total revisions: 13;    selected revisions: 13<br />
description:<br />
request.h , stdio.h, fcntl.h included.<br />
argc has 3 arguments<br />
argv has rfdp,wfdp.<br />
Client writes the message.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.13    locked by: root;<br />
date: 2015/12/20 21:52:27;  author: root;  state: Exp;  lines: +9 -12<br />
Printing Changes<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.12<br />
date: 2015/12/20 21:46:04;  author: root;  state: Exp;  lines: +2 -2<br />
obj1 and obj2 value changes<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.11<br />
date: 2015/12/20 21:43:02;  author: root;  state: Exp;  lines: +1 -1<br />
Printing change.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.10<br />
date: 2015/12/20 21:41:10;  author: root;  state: Exp;  lines: +13 -2<br />
Client reading result from server<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.9<br />
date: 2015/12/20 20:50:38;  author: root;  state: Exp;  lines: +1 -1<br />
Request printed.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.8<br />
date: 2015/12/20 20:48:04;  author: root;  state: Exp;  lines: +1 -1<br />
Request sent<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.7<br />
date: 2015/12/20 20:41:57;  author: root;  state: Exp;  lines: +1 -1<br />
argv changed to argv[]<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.6<br />
date: 2015/12/20 20:40:43;  author: root;  state: Exp;  lines: +5 -5<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.5<br />
date: 2015/12/20 20:38:04;  author: root;  state: Exp;  lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.4<br />
date: 2015/12/20 20:33:54;  author: root;  state: Exp;  lines: +1 -2<br />
Debugging<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.3<br />
date: 2015/12/20 20:32:04;  author: root;  state: Exp;  lines: +2 -1<br />
argc is printed.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.2<br />
date: 2015/12/20 20:27:40;  author: root;  state: Exp;  lines: +1 -0<br />
print statement at starting is added.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.1<br />
date: 2015/12/20 19:55:46;  author: root;  state: Exp;<br />
Initial revision<br />
=============================================================================</p>
<p>RCS file: client2.c,v<br />
Working file: client2.c<br />
head: 1.1<br />
branch:<br />
locks: strict<br />
root: 1.1<br />
access list:<br />
symbolic names:<br />
keyword substitution: kv<br />
total revisions: 1;    selected revisions: 1<br />
description:<br />
It requests for subtration from server.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.1    locked by: root;<br />
date: 2015/12/20 22:11:46;  author: root;  state: Exp;<br />
Initial revision<br />
=============================================================================</p>
<p>RCS file: client3.c,v<br />
Working file: client3.c<br />
head: 1.1<br />
branch:<br />
locks: strict<br />
root: 1.1<br />
access list:<br />
symbolic names:<br />
keyword substitution: kv<br />
total revisions: 1;    selected revisions: 1<br />
description:<br />
It is function for multiplication.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.1    locked by: root;<br />
date: 2015/12/20 22:29:00;  author: root;  state: Exp;<br />
Initial revision<br />
=============================================================================</p>
<p>RCS file: multiplier.c,v<br />
Working file: multiplier.c<br />
head: 1.1<br />
branch:<br />
locks: strict<br />
root: 1.1<br />
access list:<br />
symbolic names:<br />
keyword substitution: kv<br />
total revisions: 1;    selected revisions: 1<br />
description:<br />
Function for multiplier<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.1    locked by: root;<br />
date: 2015/12/20 22:09:30;  author: root;  state: Exp;<br />
Initial revision<br />
=============================================================================</p>
<p>RCS file: server.c,v<br />
Working file: server.c<br />
head: 1.29<br />
branch:<br />
locks: strict<br />
root: 1.29<br />
access list:<br />
symbolic names:<br />
keyword substitution: kv<br />
total revisions: 29;    selected revisions: 29<br />
description:<br />
Server includes header.h,request.h<br />
server creates a pipe(Half duplex)<br />
Server then creates a child.<br />
child is replaced by client.<br />
When pipe(arr) is called , arr[0] has read file descriptor and arr[1]<br />
has write file descriptor.<br />
rfdp and wfdp are passed to child.<br />
server reads the  data written by pipe.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.29    locked by: root;<br />
date: 2015/12/20 22:21:29;  author: root;  state: Exp;  lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.28<br />
date: 2015/12/20 22:19:00;  author: root;  state: Exp;  lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.27<br />
date: 2015/12/20 22:16:05;  author: root;  state: Exp;  lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.26<br />
date: 2015/12/20 22:14:36;  author: root;  state: Exp;  lines: +1 -2<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.25<br />
date: 2015/12/20 22:07:12;  author: root;  state: Exp;  lines: +18 -2<br />
Subtractor and multiplier and adder are available operations.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.24<br />
date: 2015/12/20 21:56:07;  author: root;  state: Exp;  lines: +2 -2<br />
Printing changes.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.23<br />
date: 2015/12/20 21:54:17;  author: root;  state: Exp;  lines: +2 -2<br />
Printing changes.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.22<br />
date: 2015/12/20 21:44:51;  author: root;  state: Exp;  lines: +3 -3<br />
Printing change<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.21<br />
date: 2015/12/20 21:42:22;  author: root;  state: Exp;  lines: +2 -2<br />
count4 declared.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.20<br />
date: 2015/12/20 21:41:10;  author: root;  state: Exp;  lines: +12 -2<br />
Server writing result to client.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.19<br />
date: 2015/12/20 21:32:16;  author: root;  state: Exp;  lines: +2 -2<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.18<br />
date: 2015/12/20 21:30:26;  author: root;  state: Exp;  lines: +12 -5<br />
server read the result and print it.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.17<br />
date: 2015/12/20 21:16:59;  author: root;  state: Exp;  lines: +2 -2<br />
logical error<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.16<br />
date: 2015/12/20 21:12:16;  author: root;  state: Exp;  lines: +1 -0<br />
ce<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.15<br />
date: 2015/12/20 21:07:57;  author: root;  state: Exp;  lines: +1 -1<br />
fret2 is declared.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.14<br />
date: 2015/12/20 21:06:23;  author: root;  state: Exp;  lines: +35 -5<br />
adder is callled using another pipe and fork.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.13<br />
date: 2015/12/20 20:52:39;  author: root;  state: Exp;  lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.12<br />
date: 2015/12/20 20:51:47;  author: root;  state: Exp;  lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.11<br />
date: 2015/12/20 20:50:38;  author: root;  state: Exp;  lines: +1 -1<br />
Request printed.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.10<br />
date: 2015/12/20 20:48:04;  author: root;  state: Exp;  lines: +1 -1<br />
Request received.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.9<br />
date: 2015/12/20 20:44:58;  author: root;  state: Exp;  lines: +2 -2<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.8<br />
date: 2015/12/20 20:29:14;  author: root;  state: Exp;  lines: +2 -1<br />
ret=wait()<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.7<br />
date: 2015/12/20 20:27:40;  author: root;  state: Exp;  lines: +2 -1<br />
print statement at starting is added.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.6<br />
date: 2015/12/20 20:24:08;  author: root;  state: Exp;  lines: +1 -1<br />
client1 is replaced by client (name change in execl).<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.5<br />
date: 2015/12/20 20:22:45;  author: root;  state: Exp;  lines: +4 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.4<br />
date: 2015/12/20 20:20:38;  author: root;  state: Exp;  lines: +1 -1<br />
Pipe is created before fork.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.3<br />
date: 2015/12/20 20:19:46;  author: root;  state: Exp;  lines: +4 -2<br />
Some print statements added.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.2<br />
date: 2015/12/20 20:16:56;  author: root;  state: Exp;  lines: +1 -0<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.1<br />
date: 2015/12/20 19:55:46;  author: root;  state: Exp;<br />
Initial revision<br />
=============================================================================</p>
<p>RCS file: subtractor.c,v<br />
Working file: subtractor.c<br />
head: 1.1<br />
branch:<br />
locks: strict<br />
root: 1.1<br />
access list:<br />
symbolic names:<br />
keyword substitution: kv<br />
total revisions: 1;    selected revisions: 1<br />
description:<br />
Function for subtraction.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.1    locked by: root;<br />
date: 2015/12/20 22:09:30;  author: root;  state: Exp;<br />
Initial revision<br />
=============================================================================</p>
]]></content:encoded>
			<wfw:commentRss>https://www.emblogic.com/blog/12/ipc-using-pipes-for-single-user/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Quick Sort using recursion</title>
		<link>https://www.emblogic.com/blog/07/quick-sort-using-recursion-2/</link>
		<comments>https://www.emblogic.com/blog/07/quick-sort-using-recursion-2/#comments</comments>
		<pubDate>Fri, 17 Jul 2015 05:27:27 +0000</pubDate>
		<dc:creator><![CDATA[Ankur Garg]]></dc:creator>
				<category><![CDATA[Data Structures with C]]></category>
		<category><![CDATA[C++]]></category>
		<category><![CDATA[Functions]]></category>
		<category><![CDATA[quick sort]]></category>
		<category><![CDATA[recursion]]></category>
		<category><![CDATA[sorting]]></category>

		<guid isPermaLink="false">http://www.emblogic.com/blog/?p=12906</guid>
		<description><![CDATA[//Quick sorting using Recursion #include&#60;stdio.h&#62; #include&#60;stdlib.h&#62; //Prototypes of functions used int * input(int *,int); int * sort(int *,int); void display(int*,int); int main() { int *a,n; printf(&#8220;Enter number of numbers you want to sort?\n&#8221;); scanf(&#8220;%d&#8221;,&#38;n); a = input(a,n); a = sort(a,n);//call &#8230; <a href="https://www.emblogic.com/blog/07/quick-sort-using-recursion-2/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>//Quick sorting using Recursion<br />
#include&lt;stdio.h&gt;<br />
#include&lt;stdlib.h&gt;<br />
//Prototypes of functions used<br />
int * input(int *,int);<br />
int * sort(int *,int);<br />
void display(int*,int);<br />
int main()<br />
{<br />
int *a,n;<br />
printf(&#8220;Enter number of numbers you want to sort?\n&#8221;);<br />
scanf(&#8220;%d&#8221;,&amp;n);<br />
a = input(a,n);<br />
a = sort(a,n);//call to quick sort<br />
display(a,n);<br />
return 0;<br />
}<br />
//Function to input an array<br />
int * input(int *a,int n)<br />
{<br />
int i;<br />
printf(&#8220;Enter %d elements\n&#8221;,n);<br />
a = (int *)malloc(sizeof(int)*n);<br />
for(i=0;i&lt;n;i++)<br />
scanf(&#8220;%d&#8221;,&amp;a[i]);<br />
return a;<br />
}<br />
//Function to Quick Sort<br />
int * sort(int *data,int n)<br />
{<br />
int too_small_index,too_big_index,pivot,temp;<br />
pivot = 0;//Index of pivot element<br />
too_big_index = pivot + 1;<br />
too_small_index = n &#8211; 1;<br />
//Terminating condition for recursive call<br />
if(too_big_index&gt;too_small_index)<br />
return data;<br />
do<br />
{<br />
//Step 1<br />
while(*(data + too_big_index)&lt;=*(data + pivot))<br />
++too_big_index;<br />
//Step 2<br />
while(*(data + too_small_index)&gt;*(data + pivot))<br />
&#8211;too_small_index;<br />
//Step 3<br />
if(too_big_index&lt;too_small_index)<br />
{<br />
temp = *(data + too_big_index);<br />
*(data + too_big_index) = *(data + too_small_index);<br />
*(data+too_small_index) = temp;<br />
}<br />
}while(too_small_index&gt;too_big_index);//Step 4<br />
//Step 5<br />
temp = *(data + too_small_index);<br />
*(data + too_small_index) = *(data+pivot);<br />
*(data+pivot) = temp;<br />
//Sorting left side of array<br />
if(too_small_index!=too_big_index)<br />
data = sort(data,too_small_index);<br />
//sorting right side of array<br />
sort((data+too_small_index+1),n-too_small_index-1);<br />
return data;<br />
}<br />
//Function to display the array<br />
void display(int*a,int n )<br />
{<br />
int i;<br />
printf(&#8220;\nSorted list\n&#8221;);<br />
for(i=0;i&lt;n;i++)<br />
printf(&#8220;%d\t&#8221;,*(a+i));<br />
}</p>
]]></content:encoded>
			<wfw:commentRss>https://www.emblogic.com/blog/07/quick-sort-using-recursion-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Bubble sorting using recursion</title>
		<link>https://www.emblogic.com/blog/07/bubble-sorting-using-recursion/</link>
		<comments>https://www.emblogic.com/blog/07/bubble-sorting-using-recursion/#comments</comments>
		<pubDate>Thu, 16 Jul 2015 12:53:10 +0000</pubDate>
		<dc:creator><![CDATA[Ankur Garg]]></dc:creator>
				<category><![CDATA[Data Structures with C]]></category>
		<category><![CDATA[buuble sort]]></category>
		<category><![CDATA[C++]]></category>
		<category><![CDATA[function]]></category>
		<category><![CDATA[pointers]]></category>
		<category><![CDATA[recursion]]></category>

		<guid isPermaLink="false">http://www.emblogic.com/blog/?p=12897</guid>
		<description><![CDATA[#include&#60;stdio.h&#62; #include&#60;stdlib.h&#62; int * input(int *,int); int * sort(int *,int); void display(int*,int); int main() { int *a,n,i,j,c,temp; printf(&#8220;Enter number of numbers you want to sort?\n&#8221;); scanf(&#8220;%d&#8221;,&#38;n); a = input(a,n); a = sort(a,n); display(a,n); } int * input(int *a,int n) { &#8230; <a href="https://www.emblogic.com/blog/07/bubble-sorting-using-recursion/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>#include&lt;stdio.h&gt;<br />
#include&lt;stdlib.h&gt;<br />
int * input(int *,int);<br />
int * sort(int *,int);<br />
void display(int*,int);</p>
<p>int main()<br />
{<br />
int *a,n,i,j,c,temp;<br />
printf(&#8220;Enter number of numbers you want to sort?\n&#8221;);<br />
scanf(&#8220;%d&#8221;,&amp;n);<br />
a = input(a,n);<br />
a = sort(a,n);<br />
display(a,n);<br />
}<br />
int * input(int *a,int n)<br />
{<br />
int i;<br />
printf(&#8220;Enter %d elements\n&#8221;,n);<br />
a = (int *)malloc(sizeof(int)*n);<br />
for(i=0;i&lt;n;i++)<br />
scanf(&#8220;%d&#8221;,&amp;a[i]);<br />
return a;<br />
}<br />
void display(int*a,int n )<br />
{<br />
int i;<br />
printf(&#8220;Sorted list\n&#8221;);<br />
for(i=0;i&lt;n;i++)<br />
printf(&#8220;%d\n&#8221;,a[i]);<br />
}</p>
<p>int * sort(int *a,int n)<br />
{    int i,j,temp;<br />
if(n==0)<br />
return a;<br />
for(i=0;i&lt;n-1;i++)<br />
if(*(a+i)&gt;*(a+i+1))<br />
{<br />
temp = *(a+i);<br />
*(a+i) = *(a+i+1);<br />
*(a+i+1) = temp;<br />
}<br />
sort(a,n-1);<br />
}</p>
]]></content:encoded>
			<wfw:commentRss>https://www.emblogic.com/blog/07/bubble-sorting-using-recursion/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>multiple data decompression for codelength 4</title>
		<link>https://www.emblogic.com/blog/07/multiple-data-decompression-for-codelength-4/</link>
		<comments>https://www.emblogic.com/blog/07/multiple-data-decompression-for-codelength-4/#comments</comments>
		<pubDate>Thu, 16 Jul 2015 12:49:17 +0000</pubDate>
		<dc:creator><![CDATA[Ankur Garg]]></dc:creator>
				<category><![CDATA[Data Structures with C]]></category>
		<category><![CDATA[c project]]></category>
		<category><![CDATA[C++]]></category>
		<category><![CDATA[mdcaeuit]]></category>
		<category><![CDATA[mddc]]></category>

		<guid isPermaLink="false">http://www.emblogic.com/blog/?p=12895</guid>
		<description><![CDATA[RCS file: header.h,v Working file: header.h head: 1.1 branch: locks: strict root: 1.1 access list: symbolic names: keyword substitution: kv total revisions: 1;    selected revisions: 1 description: All required headers are included. &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;- revision 1.1    locked by: root; date: 2015/07/08 &#8230; <a href="https://www.emblogic.com/blog/07/multiple-data-decompression-for-codelength-4/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>RCS file: header.h,v<br />
Working file: header.h<br />
head: 1.1<br />
branch:<br />
locks: strict<br />
root: 1.1<br />
access list:<br />
symbolic names:<br />
keyword substitution: kv<br />
total revisions: 1;    selected revisions: 1<br />
description:<br />
All required headers are included.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.1    locked by: root;<br />
date: 2015/07/08 13:24:08;  author: root;  state: Exp;<br />
Initial revision<br />
=============================================================================</p>
<p>RCS file: prototypes.h,v<br />
Working file: prototypes.h<br />
head: 1.7<br />
branch:<br />
locks: strict<br />
root: 1.7<br />
access list:<br />
symbolic names:<br />
keyword substitution: kv<br />
total revisions: 7;    selected revisions: 7<br />
description:<br />
All Prototypes are defined.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.7    locked by: root;<br />
date: 2015/07/08 16:13:29;  author: root;  state: Exp;  lines: +2 -2<br />
prototypes of fileread() and readma() are changed.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.6<br />
date: 2015/07/08 16:00:04;  author: root;  state: Exp;  lines: +1 -1<br />
prototype of decompress is changed.<br />
fd is removed.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.5<br />
date: 2015/07/08 15:13:00;  author: root;  state: Exp;  lines: +1 -1<br />
find_pos() is included.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.4<br />
date: 2015/07/08 14:47:12;  author: root;  state: Exp;  lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.3<br />
date: 2015/07/08 14:01:48;  author: root;  state: Exp;  lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.2<br />
date: 2015/07/08 14:00:40;  author: root;  state: Exp;  lines: +2 -2<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.1<br />
date: 2015/07/08 13:35:11;  author: root;  state: Exp;<br />
Initial revision<br />
=============================================================================</p>
<p>RCS file: mddc.c,v<br />
Working file: mddc.c<br />
head: 1.6<br />
branch:<br />
locks: strict<br />
root: 1.6<br />
access list:<br />
symbolic names:<br />
keyword substitution: kv<br />
total revisions: 6;    selected revisions: 6<br />
description:<br />
file1 is compressed file<br />
file2 is encryption key.<br />
both files are open and read.<br />
ndc and cl are found.<br />
decompress() fn. is called.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.6    locked by: root;<br />
date: 2015/07/08 17:55:59;  author: root;  state: Exp;  lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.5<br />
date: 2015/07/08 16:28:38;  author: root;  state: Exp;  lines: +1 -1<br />
characteris recovered.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.4<br />
date: 2015/07/08 16:12:57;  author: root;  state: Exp;  lines: +7 -12<br />
comand line arguments are removed.<br />
fileread() and readma() are redefined.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.3<br />
date: 2015/07/08 15:59:32;  author: root;  state: Exp;  lines: +1 -1<br />
prototype of decompress is changed.<br />
now,fd is not opening here.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.2<br />
date: 2015/07/08 14:51:55;  author: root;  state: Exp;  lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.1<br />
date: 2015/07/08 14:48:57;  author: root;  state: Exp;<br />
Initial revision<br />
=============================================================================</p>
<p>RCS file: decompression.c,v<br />
Working file: decompression.c<br />
head: 1.11<br />
branch:<br />
locks: strict<br />
root: 1.11<br />
access list:<br />
symbolic names:<br />
keyword substitution: kv<br />
total revisions: 11;    selected revisions: 11<br />
description:<br />
decompression() is defined.<br />
using ndc ,cl is find out.<br />
cl is used to call decompress2(),decompress3(),decompress4(),decompress5(),decompress6() or decompress7() function.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.11    locked by: root;<br />
date: 2015/07/08 16:13:55;  author: root;  state: Exp;  lines: +1 -1<br />
file is read here with ne prototypes excluding command line argument.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.10<br />
date: 2015/07/08 16:01:46;  author: root;  state: Exp;  lines: +1 -1<br />
fd is now declared also.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.9<br />
date: 2015/07/08 16:00:27;  author: root;  state: Exp;  lines: +2 -1<br />
fd is now declared here.<br />
file is opened here for reading.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.8<br />
date: 2015/07/08 15:44:33;  author: root;  state: Exp;  lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.7<br />
date: 2015/07/08 15:35:47;  author: root;  state: Exp;  lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.6<br />
date: 2015/07/08 15:13:12;  author: root;  state: Exp;  lines: +1 -1<br />
decompress4() is being developed.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.5<br />
date: 2015/07/08 14:59:14;  author: root;  state: Exp;  lines: +2 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.4<br />
date: 2015/07/08 14:56:11;  author: root;  state: Exp;  lines: +1 -1<br />
decompress4() is called.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.3<br />
date: 2015/07/08 14:53:59;  author: root;  state: Exp;  lines: +14 -14<br />
decompress keyword is usedinstead of compress()<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.2<br />
date: 2015/07/08 14:39:16;  author: root;  state: Exp;  lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.1<br />
date: 2015/07/08 13:24:08;  author: root;  state: Exp;<br />
Initial revision<br />
=============================================================================</p>
<p>RCS file: decompress2.c,v<br />
Working file: decompress2.c<br />
head: 1.1<br />
branch:<br />
locks: strict<br />
root: 1.1<br />
access list:<br />
symbolic names:<br />
keyword substitution: kv<br />
total revisions: 1;    selected revisions: 1<br />
description:<br />
decompress2() is defined .<br />
Macro is printed.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.1    locked by: root;<br />
date: 2015/07/08 13:24:08;  author: root;  state: Exp;<br />
Initial revision<br />
=============================================================================</p>
<p>RCS file: decompress3.c,v<br />
Working file: decompress3.c<br />
head: 1.1<br />
branch:<br />
locks: strict<br />
root: 1.1<br />
access list:<br />
symbolic names:<br />
keyword substitution: kv<br />
total revisions: 1;    selected revisions: 1<br />
description:<br />
decompress3() is defined.<br />
macro is used to print function name .<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.1    locked by: root;<br />
date: 2015/07/08 13:24:08;  author: root;  state: Exp;<br />
Initial revision<br />
=============================================================================</p>
<p>RCS file: decompress4.c,v<br />
Working file: decompress4.c<br />
head: 1.49<br />
branch:<br />
locks: strict<br />
root: 1.49<br />
access list:<br />
symbolic names:<br />
keyword substitution: kv<br />
total revisions: 49;    selected revisions: 49<br />
description:<br />
decompress4() is defined.<br />
only name of fn. is printed using macro __func__<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.49    locked by: root;<br />
date: 2015/07/09 01:31:38;  author: root;  state: Exp;  lines: +3 -3<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.48<br />
date: 2015/07/08 21:47:52;  author: root;  state: Exp;  lines: +2 -2<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.47<br />
date: 2015/07/08 21:46:54;  author: root;  state: Exp;  lines: +4 -5<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.46<br />
date: 2015/07/08 21:43:14;  author: root;  state: Exp;  lines: +2 -2<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.45<br />
date: 2015/07/08 21:41:03;  author: root;  state: Exp;  lines: +2 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.44<br />
date: 2015/07/08 21:39:45;  author: root;  state: Exp;  lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.43<br />
date: 2015/07/08 21:39:20;  author: root;  state: Exp;  lines: +7 -4<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.42<br />
date: 2015/07/08 21:35:58;  author: root;  state: Exp;  lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.41<br />
date: 2015/07/08 21:26:35;  author: root;  state: Exp;  lines: +2 -2<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.40<br />
date: 2015/07/08 21:20:53;  author: root;  state: Exp;  lines: +2 -2<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.39<br />
date: 2015/07/08 21:13:05;  author: root;  state: Exp;  lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.38<br />
date: 2015/07/08 21:12:43;  author: root;  state: Exp;  lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.37<br />
date: 2015/07/08 21:10:53;  author: root;  state: Exp;  lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.36<br />
date: 2015/07/08 20:21:48;  author: root;  state: Exp;  lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.35<br />
date: 2015/07/08 20:02:57;  author: root;  state: Exp;  lines: +4 -0<br />
Brek on c=15<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.34<br />
date: 2015/07/08 20:01:31;  author: root;  state: Exp;  lines: +1 -1<br />
breaking condition is given.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.33<br />
date: 2015/07/08 18:21:10;  author: root;  state: Exp;  lines: +2 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.32<br />
date: 2015/07/08 18:10:01;  author: root;  state: Exp;  lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.31<br />
date: 2015/07/08 18:07:49;  author: root;  state: Exp;  lines: +8 -2<br />
2 files are written at a time<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.30<br />
date: 2015/07/08 17:34:04;  author: root;  state: Exp;  lines: +3 -3<br />
Unnecesory printf statements are removed.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.29<br />
date: 2015/07/08 17:32:31;  author: root;  state: Exp;  lines: +1 -0<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.28<br />
date: 2015/07/08 17:28:53;  author: root;  state: Exp;  lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.27<br />
date: 2015/07/08 16:41:21;  author: root;  state: Exp;  lines: +1 -1<br />
c is again made const instead of comst char<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.26<br />
date: 2015/07/08 16:40:21;  author: root;  state: Exp;  lines: +3 -2<br />
c is made comst char type instead of char.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.25<br />
date: 2015/07/08 16:36:51;  author: root;  state: Exp;  lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.24<br />
date: 2015/07/08 16:25:55;  author: root;  state: Exp;  lines: +2 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.23<br />
date: 2015/07/08 16:23:31;  author: root;  state: Exp;  lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.22<br />
date: 2015/07/08 15:56:24;  author: root;  state: Exp;  lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.21<br />
date: 2015/07/08 15:54:46;  author: root;  state: Exp;  lines: +1 -0<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.20<br />
date: 2015/07/08 15:53:26;  author: root;  state: Exp;  lines: +1 -1<br />
no. of times loop run is printed.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.19<br />
date: 2015/07/08 15:47:59;  author: root;  state: Exp;  lines: +2 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.18<br />
date: 2015/07/08 15:46:44;  author: root;  state: Exp;  lines: +1 -2<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.17<br />
date: 2015/07/08 15:45:18;  author: root;  state: Exp;  lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.16<br />
date: 2015/07/08 15:44:36;  author: root;  state: Exp;  lines: +1 -1<br />
/<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.15<br />
date: 2015/07/08 15:35:02;  author: root;  state: Exp;  lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.14<br />
date: 2015/07/08 15:33:57;  author: root;  state: Exp;  lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.13<br />
date: 2015/07/08 15:32:40;  author: root;  state: Exp;  lines: +1 -0<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.12<br />
date: 2015/07/08 15:31:15;  author: root;  state: Exp;  lines: +3 -4<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.11<br />
date: 2015/07/08 15:30:02;  author: root;  state: Exp;  lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.10<br />
date: 2015/07/08 15:29:16;  author: root;  state: Exp;  lines: +2 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.9<br />
date: 2015/07/08 15:27:41;  author: root;  state: Exp;  lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.8<br />
date: 2015/07/08 15:21:14;  author: root;  state: Exp;  lines: +2 -1<br />
limiting condition inside loop is defined.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.7<br />
date: 2015/07/08 15:18:39;  author: root;  state: Exp;  lines: +1 -1<br />
argument of atoi() is changed to pointer.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.6<br />
date: 2015/07/08 15:15:16;  author: root;  state: Exp;  lines: +2 -2<br />
redeclaration of fd is removed<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.5<br />
date: 2015/07/08 15:13:29;  author: root;  state: Exp;  lines: +19 -1<br />
find_pos() is called to find unique character.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.4<br />
date: 2015/07/08 14:59:54;  author: root;  state: Exp;  lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.3<br />
date: 2015/07/08 14:59:16;  author: root;  state: Exp;  lines: +0 -2<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.2<br />
date: 2015/07/08 14:56:23;  author: root;  state: Exp;  lines: +3 -49<br />
macro is printed.<br />
it is now removed code of compress4()<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.1<br />
date: 2015/07/08 13:24:08;  author: root;  state: Exp;<br />
Initial revision<br />
=============================================================================</p>
<p>RCS file: decompress5.c,v<br />
Working file: decompress5.c<br />
head: 1.1<br />
branch:<br />
locks: strict<br />
root: 1.1<br />
access list:<br />
symbolic names:<br />
keyword substitution: kv<br />
total revisions: 1;    selected revisions: 1<br />
description:<br />
decompress5() is defined.<br />
Name of fn. is printed using __func__ macro.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.1    locked by: root;<br />
date: 2015/07/08 13:24:08;  author: root;  state: Exp;<br />
Initial revision<br />
=============================================================================</p>
<p>RCS file: decompress6.c,v<br />
Working file: decompress6.c<br />
head: 1.1<br />
branch:<br />
locks: strict<br />
root: 1.1<br />
access list:<br />
symbolic names:<br />
keyword substitution: kv<br />
total revisions: 1;    selected revisions: 1<br />
description:<br />
decompress6() is defined.<br />
name of fn. is printed using __func__<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.1    locked by: root;<br />
date: 2015/07/08 13:24:08;  author: root;  state: Exp;<br />
Initial revision<br />
=============================================================================</p>
<p>RCS file: decompress7.c,v<br />
Working file: decompress7.c<br />
head: 1.1<br />
branch:<br />
locks: strict<br />
root: 1.1<br />
access list:<br />
symbolic names:<br />
keyword substitution: kv<br />
total revisions: 1;    selected revisions: 1<br />
description:<br />
decompress7() has been defined here.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.1    locked by: root;<br />
date: 2015/07/08 13:24:08;  author: root;  state: Exp;<br />
Initial revision<br />
=============================================================================</p>
<p>RCS file: find_pos.c,v<br />
Working file: find_pos.c<br />
head: 1.15<br />
branch:<br />
locks: strict<br />
root: 1.15<br />
access list:<br />
symbolic names:<br />
keyword substitution: kv<br />
total revisions: 15;    selected revisions: 15<br />
description:<br />
Position is find out of the character in master array.<br />
integer corresponding to unique character is returned.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.15    locked by: root;<br />
date: 2015/07/08 18:11:12;  author: root;  state: Exp;  lines: +2 -2<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.14<br />
date: 2015/07/08 17:53:37;  author: root;  state: Exp;  lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.13<br />
date: 2015/07/08 17:42:53;  author: root;  state: Exp;  lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.12<br />
date: 2015/07/08 17:35:52;  author: root;  state: Exp;  lines: +3 -2<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.11<br />
date: 2015/07/08 17:32:33;  author: root;  state: Exp;  lines: +2 -13<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.10<br />
date: 2015/07/08 16:43:33;  author: root;  state: Exp;  lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.9<br />
date: 2015/07/08 16:33:36;  author: root;  state: Exp;  lines: +2 -0<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.8<br />
date: 2015/07/08 16:28:51;  author: root;  state: Exp;  lines: +1 -2<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.7<br />
date: 2015/07/08 15:51:44;  author: root;  state: Exp;  lines: +1 -1<br />
Compilation error is removed.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.6<br />
date: 2015/07/08 15:50:42;  author: root;  state: Exp;  lines: +5 -1<br />
prototypes.h is included.<br />
ch is nowassigned the character value .<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.5<br />
date: 2015/07/08 15:44:40;  author: root;  state: Exp;  lines: +2 -2<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.4<br />
date: 2015/07/08 15:20:12;  author: root;  state: Exp;  lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.3<br />
date: 2015/07/08 15:16:50;  author: root;  state: Exp;  lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.2<br />
date: 2015/07/08 15:13:50;  author: root;  state: Exp;  lines: +4 -6<br />
Position corresponding to character is matched.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.1<br />
date: 2015/07/08 13:24:08;  author: root;  state: Exp;<br />
Initial revision<br />
=============================================================================</p>
]]></content:encoded>
			<wfw:commentRss>https://www.emblogic.com/blog/07/multiple-data-decompression-for-codelength-4/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>C++ : simple program in linux.</title>
		<link>https://www.emblogic.com/blog/07/c-simple-program-in-linux/</link>
		<comments>https://www.emblogic.com/blog/07/c-simple-program-in-linux/#comments</comments>
		<pubDate>Sun, 20 Jul 2014 19:19:17 +0000</pubDate>
		<dc:creator><![CDATA[ruchi.gupta]]></dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[C++]]></category>

		<guid isPermaLink="false">http://www.emblogic.com/blog/?p=11201</guid>
		<description><![CDATA[RCS file: ./simple.cpp,v Working file: ./simple.cpp head: 1.1 branch: locks: strict access list: symbolic names: keyword substitution: kv total revisions: 1; selected revisions: 1 description: printing &#8220;My name is Ruchi&#8221;using string mystring &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;- revision 1.1 date: 2014/06/06 12:46:39; author: root; &#8230; <a href="https://www.emblogic.com/blog/07/c-simple-program-in-linux/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>RCS file: ./simple.cpp,v<br />
Working file: ./simple.cpp<br />
head: 1.1<br />
branch:<br />
locks: strict<br />
access list:<br />
symbolic names:<br />
keyword substitution: kv<br />
total revisions: 1; selected revisions: 1<br />
description:<br />
printing &#8220;My name is Ruchi&#8221;using<br />
string mystring<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.1<br />
date: 2014/06/06 12:46:39; author: root; state: Exp;<br />
Initial revision<br />
=============================================================================</p>
]]></content:encoded>
			<wfw:commentRss>https://www.emblogic.com/blog/07/c-simple-program-in-linux/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
