* @param ... The strings to write
* @return The number of bytes sent
*/
* @param ... The strings to write
* @return The number of bytes sent
*/
-AP_DECLARE_NONSTD(int) ap_rvputs(request_rec *r,...);
+AP_DECLARE_NONSTD(int) ap_rvputs(request_rec *r,...)
+ __attribute__((sentinel));
/**
* Output data to the client in a printf format
/**
* Output data to the client in a printf format
* method name to add.
* @return None.
*/
* method name to add.
* @return None.
*/
-AP_DECLARE(void) ap_allow_methods(request_rec *r, int reset, ...);
+AP_DECLARE(void) ap_allow_methods(request_rec *r, int reset, ...)
+ __attribute__((sentinel));
/**
* Add one or more methods to the list permitted to access the resource.
/**
* Add one or more methods to the list permitted to access the resource.
* @param ... A varargs array of zero or more (apr_table_t *) tables followed by NULL
* to which the cookies should be added.
*/
* @param ... A varargs array of zero or more (apr_table_t *) tables followed by NULL
* to which the cookies should be added.
*/
-AP_DECLARE(apr_status_t) ap_cookie_write(request_rec * r, const char *name, const char *val,
- const char *attrs, long maxage, ...);
+AP_DECLARE(apr_status_t) ap_cookie_write(request_rec * r, const char *name,
+ const char *val, const char *attrs,
+ long maxage, ...)
+ __attribute__((sentinel));
/**
* Write an RFC2965 compliant cookie.
/**
* Write an RFC2965 compliant cookie.
* @param ... A varargs array of zero or more (apr_table_t *) tables followed by NULL
* to which the cookies should be added.
*/
* @param ... A varargs array of zero or more (apr_table_t *) tables followed by NULL
* to which the cookies should be added.
*/
-AP_DECLARE(apr_status_t) ap_cookie_write2(request_rec * r, const char *name2, const char *val,
- const char *attrs2, long maxage, ...);
+AP_DECLARE(apr_status_t) ap_cookie_write2(request_rec * r, const char *name2,
+ const char *val, const char *attrs2,
+ long maxage, ...)
+ __attribute__((sentinel));
/**
* Remove an RFC2109 compliant cookie.
/**
* Remove an RFC2109 compliant cookie.
* @param ... A varargs array of zero or more (apr_table_t *) tables followed by NULL
* to which the cookies should be added.
*/
* @param ... A varargs array of zero or more (apr_table_t *) tables followed by NULL
* to which the cookies should be added.
*/
-AP_DECLARE(apr_status_t) ap_cookie_remove(request_rec * r, const char *name, const char *attrs, ...);
+AP_DECLARE(apr_status_t) ap_cookie_remove(request_rec * r, const char *name,
+ const char *attrs, ...)
+ __attribute__((sentinel));
/**
* Remove an RFC2965 compliant cookie.
/**
* Remove an RFC2965 compliant cookie.
* @param ... A varargs array of zero or more (apr_table_t *) tables followed by NULL
* to which the cookies should be added.
*/
* @param ... A varargs array of zero or more (apr_table_t *) tables followed by NULL
* to which the cookies should be added.
*/
-AP_DECLARE(apr_status_t) ap_cookie_remove2(request_rec * r, const char *name2, const char *attrs2, ...);
+AP_DECLARE(apr_status_t) ap_cookie_remove2(request_rec * r, const char *name2,
+ const char *attrs2, ...)
+ __attribute__((sentinel));
/**
* Read a cookie called name, placing its value in val.
/**
* Read a cookie called name, placing its value in val.
AP_DECLARE_NONSTD(int) ap_scan_script_header_err_strs(request_rec *r,
char *buffer,
const char **termch,
AP_DECLARE_NONSTD(int) ap_scan_script_header_err_strs(request_rec *r,
char *buffer,
const char **termch,
+ int *termarg, ...)
+ __attribute__((sentinel));
/**
* Read headers output from a script, ensuring that the output is valid. If
/**
* Read headers output from a script, ensuring that the output is valid. If