[
https://issues.apache.org/jira/browse/TS-680?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Alan M. Carroll updated TS-680:
-------------------------------
Description:
This could allow a compiler to warn on inappropriate parameters for example.
The problem is that many API parameters are passed as (void*). This means that
not only can they can unsafely interchanged (either passing the wrong parameter
or passing them in the wrong order) but completely inappropriate (non-API)
pointers can be passed as well, all without any warning from the compiler.
This could be improved by declaring parameter types to be pointers to in name
only types. This would make them non-trivially interchangeable with each other
and non-API pointers. Although passing inappropriate parameters would still be
possible it would be *much* harder to do by accident, in contrast to the
current API in which it is very easy to do.
was:This could allow a compiler to warn on inappropriate parameters for
example.
> Make SDK opaque types use opaque struct's instead of void* ?
> ------------------------------------------------------------
>
> Key: TS-680
> URL: https://issues.apache.org/jira/browse/TS-680
> Project: Traffic Server
> Issue Type: Improvement
> Components: TS API
> Reporter: Leif Hedstrom
> Assignee: Leif Hedstrom
> Fix For: 2.1.7
>
> Attachments: prototypes.diff
>
>
> This could allow a compiler to warn on inappropriate parameters for example.
> The problem is that many API parameters are passed as (void*). This means
> that not only can they can unsafely interchanged (either passing the wrong
> parameter or passing them in the wrong order) but completely inappropriate
> (non-API) pointers can be passed as well, all without any warning from the
> compiler.
> This could be improved by declaring parameter types to be pointers to in name
> only types. This would make them non-trivially interchangeable with each
> other and non-API pointers. Although passing inappropriate parameters would
> still be possible it would be *much* harder to do by accident, in contrast to
> the current API in which it is very easy to do.
--
This message is automatically generated by JIRA.
-
For more information on JIRA, see: http://www.atlassian.com/software/jira