{
W err;
PNT p;
- postresdata_t *post = NULL;
- err = poptray_gettraydata(&post);
+ err = poptray_gettraydata(bchan->resdata);
if (err < 0) {
datwindow_responsepasterequest(bchan->window, /* NACK */ 1, NULL);
return;
p.y = 0x8000;
datwindow_responsepasterequest(bchan->window, /* ACK */ 0, &p);
- if (post != NULL) {
- if (bchan->resdata != NULL) {
- postresdata_delete(bchan->resdata);
- }
- bchan->resdata = post;
- cfrmwindow_setpostresdata(bchan->confirm, post);
+ if (err > 0) {
+ cfrmwindow_setpostresdata(bchan->confirm, bchan->resdata);
bchan->request_confirm_open = True;
}
}
datrender_t *render;
dattraydata_t *traydata;
datretriever_t *retriever;
+ postresdata_t *resdata;
ressubmit_t *submit;
cookiedb_t *cookiedb;
RECT w_work;
DP_ER("datretriever_new error", 0);
goto error_retriever;
}
+ resdata = postresdata_new();
+ if (resdata == NULL) {
+ DP_ER("postresdata_new error", 0);
+ goto error_resdata;
+ }
submit = ressubmit_new(cache);
if (submit == NULL) {
DP_ER("ressubmit_new error", 0);
bchan->retriever = retriever;
bchan->submit = submit;
bchan->confirm = cfrmwindow;
- bchan->resdata = NULL;
+ bchan->resdata = resdata;
bchan->ngword = ngwordwindow;
bchan->cookiedb = cookiedb;
error_cookiedb:
ressubmit_delete(submit);
error_submit:
+ postresdata_delete(resdata);
+error_resdata:
datretriever_delete(retriever);
error_retriever:
dattraydata_delete(traydata);
/*
* poptray.c
*
- * Copyright (c) 2009 project bchan
+ * Copyright (c) 2009-2011 project bchan
*
* This software is provided 'as-is', without any express or implied
* warranty. In no event will the authors be held liable for any damages
# define DP_ER(msg, err) /**/
#endif
-EXPORT W poptray_gettraydata(postresdata_t **post)
+EXPORT W poptray_gettraydata(postresdata_t *post)
{
TRAYREC *data;
TR_VOBJREC *vobjrec = NULL;
- postresdata_t *ret;
- W i, size, recs, err;
+ W i, size, recs, err, ret = 0;
err = tget_dat(NULL, 0, &size, -1);
if (err < 0) {
}
if (vobjrec != NULL) {
- ret = postresdata_new();
- if (ret == NULL) {
- free(data);
- return 0;
- }
- postresdata_readfile(ret, &(vobjrec->vlnk));
- *post = ret;
+ postresdata_readfile(post, &(vobjrec->vlnk));
+ ret = 1;
}
tset_dat(NULL, 0);
free(data);
- return 0;
+ return ret;
}
/*
* poptray.h
*
- * Copyright (c) 2009 project bchan
+ * Copyright (c) 2009-2011 project bchan
*
* This software is provided 'as-is', without any express or implied
* warranty. In no event will the authors be held liable for any damages
#ifndef __POPTRAY_H__
#define __POPTRAY_H__
-IMPORT W poptray_gettraydata(postresdata_t **post);
+IMPORT W poptray_gettraydata(postresdata_t *post);
#endif