Number: 772

Date: 19-Apr-84 20':03':24

Submitter: le.pasa

Source: David Spoor (U of Illinois), Jim Wogulis

Subject: (GETPUPSTRING (ALLOCATE.PUP)) gives error ILLEGAL ARG -22

Assigned To: vanMelle

Attn: 

Status: Closed

In/By: Harmony

Problem Type: Bug

Impact: Minor

Difficulty: Easy

Frequency: Everytime

Priority: Hopefully

System: Communications

Subsystem: PUP Protocols

Machine: 

Disk: 

Lisp Version:  Fugue6

Source Files: 

Microcode Version: 

Memory Size: 

File Server: 

Server Software Version: 

Disposition: [4/24/84 tl': Explanation': GETPUPSTRING only works on a pup datum that actually has a pup image in it.  ALLOCATE.PUP returns a blank pup.  Thus, there is nothing in it to GETPUPSTRING on.  Admittedly, the error message could be more instructive, but I would hardly call this "not working as advertised"]'
'
[4/26/84 bvm': fixed this to not cause an error anyway; GETPUPSTRING now returns the null string if the pup is too short]'
-----'
[status is changed back to Open due to Jim Wogulis Request]'
'
["Sannella" "16-Aug-84 10':56':26" Attn': Status':(Fixed->Closed) In/By': Disposition': Description': Test% Case':]'
["Sannella.PA" "16-Aug-84 11':18':28"]

Description: '
GETPUPSTRING does not work as advertised'
'
Do the following':'
(SETQ TESTPUP (ALLOCATE.PUP))'
(GETPUPSTRING TESTPUP)'
returns':'
'
ILLEGAL ARG'
-22'
'
-----'
'
Date': 22 Apr 84 22':15 PST'
From': vanMelle.pa'
Subject': Re': ar#772'
In-reply-to': MASINTER.PA''s message of 20 APR 84 22':42 PST'
To': MASINTER.PA'
cc': LispSupport'
'
Call SETUPPUP, or explicitly replace the PUPLENGTH field.'
'
Calling that a "Workaround" is a bit odd, though.  It''s like saying "initialize your variables" is a workaround for the non-numeric arg you get in'
'
	(PROG (X) (RETURN (SQRT X)))'
------'
'
Date': 16 May 84 10':07 PDT'
From': Wogulis.pasa'
Subject': AR#772 GETPUPSTRING'
To': le.pasa, VanMelle.pa'
cc': Wogulis.pasa'
'
Thu please change the status back to open. Here is the test case':'
'
(SETQ TEST (ALLOCATE.PUP))'
(PUTPUPSTRING TEST "MY STRING")'
[returns 9]'
(GETPUPSTRING TEST)'
'
returns ILLEGAL ARG  -13'
'
-----'
'
[BVM 5/20/84':  Date': 16 May 84 10':34 PDT'
From': vanMelle.pa'
Subject': Re': AR#772 GETPUPSTRING'
In-reply-to': Wogulis.pasa''s message of 16 May 84 10':07 PDT'
To': Wogulis.pasa'
cc': le.pasa, vanMelle.pa'
'
Not so fast.  PAY ATTENTION PLEASE.'
'
I quote from the AR':'
'
[4/24/84 tl': GETPUPSTRING only works on a pup datum that actually has a pup image in it.  ALLOCATE.PUP returns a blank pup.  Thus, there is nothing in it to GETPUPSTRING on.  Admittedly, the error message could be more instructive, but I would hardly call this "not working as advertised"]'
'
[4/26/84 bvm': fixed this to not cause an error anyway; GETPUPSTRING now returns the null string if the pup is too short]'
'
The first comment means I have no interest in your new test case--the user STILL has not initialized the pup.  Thus there is no reason for GETPUPSTRING to do anything reasonable.'
'
The second comment says I fixed it to not error.  When I fix something, it doesn''t instantaneously appear.  You won''t see the fix until the Harmony release.'
'
A more generic comment': the low level ethernet code is not designed to be simple to use by network (or Lisp) neophytes, and there is no good reason to expend effort to make it so.  I will, however, update the documentation to make explicit the need to fill in the pup header.'
'
	Bill]'
'


Workaround: 

Test Case: 

Edit-By: Sannella.PA

Edit-Date: 16-Aug-84 11':18':31