diff options
author | Martin Jansa <Martin.Jansa@gmail.com> | 2012-07-30 23:52:49 +0200 |
---|---|---|
committer | Martin Jansa <Martin.Jansa@gmail.com> | 2012-07-31 00:14:55 +0200 |
commit | 4339668ff27c839af1a1e4cfa5a2d034afe204f2 (patch) | |
tree | d2a48dca9a2a46a944e5091bf9b157cb2dc15e44 /meta-oe/recipes-support/links/files/cookies-save-0.96.patch | |
parent | f2afdd2b988af8d0b4d822c7c03529b725fe24ba (diff) | |
download | meta-openembedded-contrib-4339668ff27c839af1a1e4cfa5a2d034afe204f2.tar.gz |
fbreader, fltk, gpm, iksemel, joe, links, ode, openldap, opensync, xchat: import from meta-smartphone
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Diffstat (limited to 'meta-oe/recipes-support/links/files/cookies-save-0.96.patch')
-rw-r--r-- | meta-oe/recipes-support/links/files/cookies-save-0.96.patch | 106 |
1 files changed, 106 insertions, 0 deletions
diff --git a/meta-oe/recipes-support/links/files/cookies-save-0.96.patch b/meta-oe/recipes-support/links/files/cookies-save-0.96.patch new file mode 100644 index 0000000000..a1e35c01ca --- /dev/null +++ b/meta-oe/recipes-support/links/files/cookies-save-0.96.patch @@ -0,0 +1,106 @@ +diff -ru links-0.96/cookies.c links-0.96+cookies-save/cookies.c +--- links-0.96/cookies.c Mon Sep 3 07:19:37 2001 ++++ links-0.96+cookies-save/cookies.c Mon Sep 3 07:18:42 2001 +@@ -276,15 +276,99 @@ + + void init_cookies(void) + { +- /* !!! FIXME: read cookies */ ++ unsigned char in_buffer[MAX_STR_LEN]; ++ unsigned char *cookfile, *p, *q; ++ FILE *fp; ++ ++ /* must be called after init_home */ ++ if (! links_home) return; ++ ++ cookfile = stracpy(links_home); ++ if (! cookfile) return; ++ add_to_strn(&cookfile, "cookies"); ++ ++ fp = fopen(cookfile, "r"); ++ mem_free(cookfile); ++ if (fp == NULL) return; ++ ++ while (fgets(in_buffer, MAX_STR_LEN, fp)) { ++ struct cookie *cookie; ++ ++ if (!(cookie = mem_alloc(sizeof(struct cookie)))) return; ++ memset(cookie, 0, sizeof(struct cookie)); ++ ++ q = in_buffer; p = strchr(in_buffer, ' '); ++ if (p == NULL) goto inv; ++ *p++ = '\0'; ++ cookie->name = stracpy(q); ++ ++ q = p; p = strchr(p, ' '); ++ if (p == NULL) goto inv; ++ *p++ = '\0'; ++ cookie->value = stracpy(q); ++ ++ q = p; p = strchr(p, ' '); ++ if (p == NULL) goto inv; ++ *p++ = '\0'; ++ cookie->server = stracpy(q); ++ ++ q = p; p = strchr(p, ' '); ++ if (p == NULL) goto inv; ++ *p++ = '\0'; ++ cookie->path = stracpy(q); ++ ++ q = p; p = strchr(p, ' '); ++ if (p == NULL) goto inv; ++ *p++ = '\0'; ++ cookie->domain = stracpy(q); ++ ++ q = p; p = strchr(p, ' '); ++ if (p == NULL) goto inv; ++ *p++ = '\0'; ++ cookie->expires = atoi(q); ++ ++ cookie->secure = atoi(p); ++ ++ cookie->id = cookie_id++; ++ ++ accept_cookie(cookie); ++ ++ continue; ++ ++inv: ++ free_cookie(cookie); ++ free(cookie); ++ } ++ fclose(fp); + } + + void cleanup_cookies(void) + { + struct cookie *c; ++ unsigned char *cookfile; ++ FILE *fp; ++ + free_list(c_domains); +- /* !!! FIXME: save cookies */ +- foreach (c, cookies) free_cookie(c); ++ ++ cookfile = stracpy(links_home); ++ if (! cookfile) return; ++ add_to_strn(&cookfile, "cookies"); ++ ++ fp = fopen(cookfile, "w"); ++ mem_free(cookfile); ++ if (fp == NULL) return; ++ ++ foreach (c, cookies) { ++ if (c->expires && ! cookie_expired(c)) ++ fprintf(fp, "%s %s %s %s %s %d %d\n", c->name, c->value, ++ c->server?c->server:(unsigned char *)"", c->path?c->path:(unsigned char *)"", ++ c->domain?c->domain:(unsigned char *)"", c->expires, c->secure); ++ ++ free_cookie(c); ++ } ++ ++ fclose(fp); ++ + free_list(cookies); + } + |