[m-dev.] for review: string__fmt
Peter Ross
peter.ross at miscrit.be
Thu Aug 10 19:37:10 AEST 2000
On Thu, Aug 10, 2000 at 07:18:40PM +1000, Fergus Henderson wrote:
> On 10-Aug-2000, Peter Ross <peter.ross at miscrit.be> wrote:
> > > > +:- type spec
> > > > + % valid integer specifiers
> > > > + ---> d(int)
> > > > + ; i(int)
> > > > + ; o(int)
> > > > + ; u(int)
> > > > + ; x(int)
> > > > + ; cX(int)
> > >
> > > The meaning of "cX" was a mystery to me for a while.
> > > At very least there should be a comment explaining it.
> > > But I think it would make more sense to use "'X'"
> > > rather than "cX".
> >
> > I tried that but in some spots it was still being parsed as a variable.
>
> Hmm, I don't believe you ;-)
>
> > I will try an reconstruct it as a test case. For the moment a comment
> > has been added.
>
> OK.
>
> > > Please use curly braces for the bodies of `if' and `else'
> > > statements. Please put spaces around operators such as `+'.
> > >
> >
> > Here is the revised code
>
> > MR_String
> > MR_make_string(MR_Code *proclabel, const char *fmt, ...) {
>
> That `{' should be on a line of its own.
>
> > /* Else try again with more space. */
> > if (n > -1) /* glibc 2.1 */
> > /* precisely what is needed */
> > size = n + 1;
> > else /* glibc 2.0 */
> > size *= 2; /* twice the old size */
>
> Please use curly braces for the bodies of `if' and `else' statements!
>
> Also fix the indentation -- the "then" part is intended one space
> too many.
>
> > /* It is possible for this buffer to overflow */
> > /* and then bad things may happen */
> > char p[40960];
>
> Please use
>
> /*
> ** ...
> */
>
> format for comments.
>
> > strcpy((char *) result, p);
>
> Why the cast to `char *' here? MR_String is already `char *', isn't it?
> And if it wasn't, e.g. if it was `wchar_t *', then surely we'd want a
> compiler diagnostic here, but the cast would supress that.
>
Sorry about these little things, I think I really need to be rebooted!
--------------------------------------------------------------------------
mercury-developers mailing list
Post messages to: mercury-developers at cs.mu.oz.au
Administrative Queries: owner-mercury-developers at cs.mu.oz.au
Subscriptions: mercury-developers-request at cs.mu.oz.au
--------------------------------------------------------------------------
More information about the developers
mailing list