Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!samsung!sol.ctr.columbia.edu!caen!uflorida!mlb.semi.harris.com!excalibur.mlb.semi.harris.com!lytton From: lytton@excalibur.mlb.semi.harris.com (Jody Lytton) Newsgroups: comp.sys.apollo Subject: Problem using vfmt call within a Pascal routine Message-ID: <1990Dec12.161902.17107@mlb.semi.harris.com> Date: 12 Dec 90 16:19:02 GMT Sender: news@mlb.semi.harris.com Organization: Harris Semiconductor, Melbourne FL Lines: 38 Nntp-Posting-Host: excalibur.mlb.semi.harris.com Sorry to ask a programming question here, but you guys will probably know more about using the Apollo general system calls than anyone else. The problem: I'm writing a pascal routine on a DN3550 (9.7.5) for a Mentor application. The Pascal is Rev 7.3808 The problem comes when I try to use a vfmt_$ws call to spit out an integer. I get something that looks like an address when I use %d in the control line. The section of code looks something like this: FOR i := 1 TO some_number DO BEGIN vfmt_$ws5 (stream_$stdout,'%a%20t%d%.', record_name[i].string_name.chars, record_name[i].string_name.len, record_name[i].count, dummy, dummy); END; where count is just an integer. The values for count should be (using debugger, I know what they are) less than 10. In a test case where count should have been 1 and 3, I got results of 81920 and 212976, respectively. I have tried changing the variable to a double and printing with a %f control line. It works, but I want to get rid of the decimal. Another bad part is that my most up-to-date documentation on programming with general system calls is a 1985 edition. Please respond to the inet address below. Thanks. -- # Jody Lytton ## #### ## inet: lytton@mlb.semi.harris.com ## "... Oh the weather is here, ### ### phone: (407) 729-5240 ## I wish you were beautiful ..." ## #### fax: (407) 729-5005 ## #