comp.lang.ada
 help / color / mirror / Atom feed
From: adam@irvine.com (Adam Beneschan)
Subject: Re: Two questions
Date: 1996/11/11
Date: 1996-11-11T00:00:00+00:00	[thread overview]
Message-ID: <5689e0$hah@krusty.irvine.com> (raw)
In-Reply-To: 561dfo$h2g@news2.delphi.com


In article <561dfo$h2g@news2.delphi.com> tmoran@bix.com writes:
 
 >The Ada idiom for
 >  char str[20];
 >  sprintf(&str, "variable %s = %d", name, x);
 >would be something like:
 >declare
 >  str:constant string := "variable " & name & " =" & integer'image(x);
 >begin
 > ...
 >Or, since you can return whole strings from functions, you can have
 > ... return "variable " & name & " =" & integer'image(x);

Well, not exactly.  Assuming "x" may contain any 32-bit value
including -2**31, there's not enough room in "str" in the C example to
hold everything.  So the true Ada idiom should be something like:

 declare
    str : constant string := "variable " & name & " =" & integer'image(x);
 begin
    Write_Trash_All_Over_Your_Stack;

I suspect this is an idiom that would be highly familiar to C
programmers. 


:)
                                -- Adam




  reply	other threads:[~1996-11-11  0:00 UTC|newest]

Thread overview: 29+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
1996-11-09  0:00 Two questions tmoran
1996-11-11  0:00 ` Adam Beneschan [this message]
1996-11-13  0:00 ` Richard A. O'Keefe
  -- strict thread matches above, loose matches on Subject: below --
2002-07-04 22:25 Mark
2002-07-04 22:40 ` Jeffrey Creem
2001-03-12 10:59 Christoph Grein
2001-03-12 17:43 ` Stephen Leake
2001-03-09 18:27 chris.danx
2001-03-09 20:22 ` Mark Lundquist
2001-03-09 20:56 ` Randy Brukardt
2001-03-12 15:36 ` John English
2001-03-12 18:11   ` chris.danx
1996-11-07  0:00 Ding-yuan Sheu
1996-11-07  0:00 ` Robert Dewar
1996-11-08  0:00 ` Robert I. Eachus
1996-11-08  0:00 ` Norman H. Cohen
1996-11-08  0:00 ` Jon S Anthony
1996-05-01  0:00 Ed Seidewitz
1996-05-01  0:00 W. Wesley Groleau (Wes)
1996-05-01  0:00 Bernard Banner
1989-04-11 13:32 Piercarlo Grandi
1989-04-14 17:14 ` callen
1989-03-30 11:53 Piercarlo Grandi
1989-04-13  0:46 ` Paul Stachour
1989-03-29  9:16 HansM
1989-03-29 18:35 ` Michael Peirce
1989-03-31 13:10 ` stt
1989-03-31 18:59 ` Scott Simpson
1989-04-03 14:44 ` callen
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox