First C program
Frank Kolmann <[email protected]>
| Newsgroups | gmane.comp.lang.as400.c |
|---|---|
| Message-ID | <CAB-SQvhK0UZm6Pt=LA44O3VcL+vweYz+4XXVym5-QSDK7CayHg@mail.gmail.com> |
Hi Jevgeni
Thank you. You make good points.
That is a good way of trapping the == issue.
I will follow Barbaras advice in the coding of the if.
I like the way you use the #define for the type defs.
It does make the code clearer, I will use that sytle.
Frank
>*Subject: Re: First C program
>*From: Jevgeni Astanovski <Jevgeni.Astanovski@xxxxxxxxxxxxx>
>*Date: Wed, 2 Apr 2014 07:54:34 +0000
>Yes. Barbara mentioned the define and I haven't...
>Definitely there are lots of this sort of advises to avoid =/== possible
mistake.
>I've never saw the one you referred.
> However some use another technique:
>Instead of writing
>if ((pf = _Ropen(PFILENAME, "rr")) == NULL)
>they write
>if (NULL == (pf = _Ropen(PFILENAME, "rr")))
>In this case if you make a mistake and write
>if (NULL = (pf = _Ropen(PFILENAME, "rr")))
>you will immediately get a syntax error.
>
....
>
>On the second issue - this is purely a question of how readable is your
program.
> My personal practice is to use "explicit" way of defining types. For
example:
>
>#pragma mapinc("dspf", "*LIBL/Y80ALD(ADDCHRG)", "both", "_P", "Y80", "Y80")
> #include "dspf"
> #define INPUT_T Y80_ADDCHRG_i_t
> #define OUTPUT_T Y80_ADDCHRG_o_t
>
>in this case it is (more) clear where these types are derived from....
--
This is the Bare Metal Programming IBM i (AS/400 and iSeries) (C400-L) mailing list
To post a message email: C400-L-Zwy7GipZuJhWk0Htik3J/[email protected]
To subscribe, unsubscribe, or change list options,
visit: http://lists.midrange.com/mailman/listinfo/c400-l
or email: C400-L-request-Zwy7GipZuJhWk0Htik3J/[email protected]
Before posting, please take a moment to review the archives
at http://archive.midrange.com/c400-l.