From mboxrd@z Thu Jan 1 00:00:00 1970 Message-ID: To: fernanbolando@mailc.net, 9fans@cse.psu.edu Subject: Re: [9fans] porting linux program for beginners From: C H Forsyth Date: Tue, 14 Mar 2006 16:27:28 +0000 In-Reply-To: <1d5d51400603140804m72eddf8jd4474a9f7ef0b23c@mail.gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset="US-ASCII" Content-Transfer-Encoding: 7bit Cc: Topicbox-Message-UUID: 13f0becc-ead1-11e9-9d60-3106f5b1d025 the compiler shows the linear type representation it uses internally. IND is `indirect', a pointer, or * UCHAR is `unsigned char' CONST is obviously `const' so in dumb_input.c:249[stdin:1718] argument prototype mismatch "IND UCHAR" for "IND CONST CHAR": strlen you're passing an unsigned char* to strlen, which expects const char* (or char*) the compiler could possibly translate them back to normal C declarator form from the internal one, but on the other hand, in more subtle cases, seeing them written in linear form can be helpful if you've got a * or () in the wrong place. newer versions of gcc will object too, so you might as well get the types right now.