Fossil

Diff
Login

Differences From Artifact [4026e24fa2]:

To Artifact [ebd735c1f5]:


87
88
89
90
91
92
93
94

95
96
97
98
99

100
101
102
103
104
105
106
87
88
89
90
91
92
93

94
95
96
97
98

99
100
101
102
103
104
105
106







-
+




-
+







  z = (char*)P(zCookieName);
  if( z==0 ) z = "";
  cookies.zCookieValue = z = mprintf("%s", z);
  while( cookies.nParam<COOKIE_NPARAM ){
    while( fossil_isspace(z[0]) ) z++;
    if( z[0]==0 ) break;
    cookies.aParam[cookies.nParam].zPName = z;
    while( *z && *z!='=' && *z!='&' ){ z++; }
    while( *z && *z!='=' && *z!=',' ){ z++; }
    if( *z=='=' ){
      *z = 0;
      z++;
      cookies.aParam[cookies.nParam].zPValue = z;
      while( *z && *z!='&' ){ z++; }
      while( *z && *z!=',' ){ z++; }
      if( *z ){
        *z = 0;
        z++;
      }
      dehttpize(cookies.aParam[cookies.nParam].zPValue);
    }else{
      if( *z ){ *z++ = 0; }
175
176
177
178
179
180
181
182
183


184
185
186
187
188
189
190
175
176
177
178
179
180
181


182
183
184
185
186
187
188
189
190







-
-
+
+







void cookie_render(void){
  assert( cookies.zCookieName!=0 );
  if( cookies.bChanged ){
    Blob new;
    int i;
    blob_init(&new, 0, 0);
    for(i=0;i<cookies.nParam;i++){
      if( i>0 ) blob_append(&new, "&", 1);
      blob_appendf(&new, "%s=%t",
      if( i>0 ) blob_append(&new, ",", 1);
      blob_appendf(&new, "%s=%T",
          cookies.aParam[i].zPName, cookies.aParam[i].zPValue);
    }
    cgi_set_cookie(cookies.zCookieName, blob_str(&new), 0, 31536000);
  }
  cookies.zCookieName = 0;
}