[PD] arguments not passed to an external
Martin Peach
martin.peach at sympatico.ca
Tue May 27 01:50:04 CEST 2014
On 2014-05-26 19:03, Jonathan Wilkes wrote:
> On 05/26/2014 04:28 AM, IOhannes m zmoelnig wrote:
>> -----BEGIN PGP SIGNED MESSAGE-----
>> Hash: SHA256
>>
>> On 2014-05-26 09:35, Alexandros Drymonitis wrote:
>>>> void *tabPowSine_new(t_symbol *s, short argc, t_atom *argv)
>> short argc? why short?
>>
>> this *must* be int (32bit!).
>
> I see no good reason to use short here, either.
>
> But I have to admit I am now curious-- what problem would it cause in
> this specific case? The number of args to the object will certainly be
> within the range of short, no?
>
I think because Pd doesn't know how any particular 'new' routine is
declared, it just passes the parameters the same way for every object's
'new'.
Also the c compiler doesn't know that the 'new' routine must take a
certain form, so you don't get any errors until it actually runs. (this
could probably be fixed with a typedef for a Pd 'new' routine)
In the remote past, short and int were the same thing, but as processors
evolve, int gradually gets longer while short stays short.
Martin
More information about the Pd-list
mailing list