httpd-apreq-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Simon Tamás <sim...@westel.hu>
Subject Re: 1.0 in CVS?
Date Wed, 23 Jan 2002 13:10:01 GMT
Hello, I don't have access to the CVs repository, but I have a
suggestion

in C language library there's a file called apache_cookie.h
If you try to use this code fram C++ you wil find that the `extern "C"' 
is missing from this header. (It is added correctly in other header
files

here is my - corrected - version of this file

Please add these changes to the release!

Best regards

Tamas Simon

-*-


#ifndef _APACHE_COOKIE_H
#define _APACHE_COOKIE_H

#include "apache_request.h"
typedef array_header ApacheCookieJar;

typedef struct {
    request_rec *r;
    char *name;
    array_header *values;
    char *domain;
    char *expires;
    char *path;
    int secure;
} ApacheCookie;

#ifdef  __cplusplus
 extern "C" {
#endif 


#define ApacheCookieJarItems(arr) arr->nelts

#define ApacheCookieJarFetch(arr,i) \
((ApacheCookie *)(((ApacheCookie **)arr->elts)[i]))

#define ApacheCookieJarAdd(arr,c) \
*(ApacheCookie **)ap_push_array(arr) = c

#define ApacheCookieItems(c) c->values->nelts

#define ApacheCookieFetch(c,i) \
((char *)(((char **)c->values->elts)[i]))

#define ApacheCookieAddn(c,val) \
    if(val) *(char **)ap_push_array(c->values) = (char *)val

#define ApacheCookieAdd(c,val) \
    ApacheCookieAddn(c, ap_pstrdup(c->r->pool, val))

#define ApacheCookieAddLen(c,val,len) \
    ApacheCookieAddn(c, ap_pstrndup(c->r->pool, val, len))

ApacheCookie *ApacheCookie_new(request_rec *r, ...);
ApacheCookieJar *ApacheCookie_parse(request_rec *r, const char *data);
char *ApacheCookie_as_string(ApacheCookie *c);
char *ApacheCookie_attr(ApacheCookie *c, char *key, char *val);
char *ApacheCookie_expires(ApacheCookie *c, char *time_str);
void ApacheCookie_bake(ApacheCookie *c);

#ifdef __cplusplus
 }
#endif

#define APC_ERROR APLOG_MARK, APLOG_NOERRNO|APLOG_ERR, c->r

#endif // _APACHE_COOKIE_H
Mime
View raw message