mothra: cleanup url handling
This commit is contained in:
parent
d6fb42f496
commit
b408b386e1
3 changed files with 9 additions and 7 deletions
|
@ -25,24 +25,25 @@ char *pixcmd[]={
|
||||||
void getimage(Rtext *t, Www *w){
|
void getimage(Rtext *t, Www *w){
|
||||||
int pfd[2];
|
int pfd[2];
|
||||||
Action *ap;
|
Action *ap;
|
||||||
Url url;
|
Url *url;
|
||||||
Image *b;
|
Image *b;
|
||||||
int fd, typ;
|
int fd, typ;
|
||||||
char err[512], buf[80], *s;
|
char err[512], buf[80], *s;
|
||||||
Pix *p;
|
Pix *p;
|
||||||
|
|
||||||
ap=t->user;
|
ap=t->user;
|
||||||
seturl(&url, ap->image, w->url->fullname);
|
url=emalloc(sizeof(Url));
|
||||||
|
seturl(url, ap->image, w->url->fullname);
|
||||||
for(p=w->pix;p!=nil; p=p->next)
|
for(p=w->pix;p!=nil; p=p->next)
|
||||||
if(strcmp(ap->image, p->name)==0 && ap->width==p->width && ap->height==p->height){
|
if(strcmp(ap->image, p->name)==0 && ap->width==p->width && ap->height==p->height){
|
||||||
t->b = p->b;
|
t->b = p->b;
|
||||||
w->changed=1;
|
w->changed=1;
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
fd=urlget(&url, -1);
|
fd=urlget(url, -1);
|
||||||
if(fd==-1){
|
if(fd==-1){
|
||||||
Err:
|
Err:
|
||||||
snprint(err, sizeof(err), "[img: %s: %r]", url.reltext);
|
snprint(err, sizeof(err), "[img: %s: %r]", urlstr(url));
|
||||||
free(t->text);
|
free(t->text);
|
||||||
t->text=strdup(err);
|
t->text=strdup(err);
|
||||||
w->changed=1;
|
w->changed=1;
|
||||||
|
@ -82,8 +83,7 @@ void getimage(Rtext *t, Www *w){
|
||||||
t->b=b;
|
t->b=b;
|
||||||
w->changed=1;
|
w->changed=1;
|
||||||
Out:
|
Out:
|
||||||
free(url.basename);
|
freeurl(url);
|
||||||
free(url.reltext);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void getpix(Rtext *t, Www *w){
|
void getpix(Rtext *t, Www *w){
|
||||||
|
|
|
@ -991,7 +991,7 @@ void geturl(char *urlname, int post, int plumb, int map){
|
||||||
selurl(urlname);
|
selurl(urlname);
|
||||||
selection->map=map;
|
selection->map=map;
|
||||||
|
|
||||||
message("getting %s", selection->reltext);
|
message("getting %s", urlstr(selection));
|
||||||
esetcursor(&patientcurs);
|
esetcursor(&patientcurs);
|
||||||
for(;;){
|
for(;;){
|
||||||
if((fd=urlget(selection, post)) < 0){
|
if((fd=urlget(selection, post)) < 0){
|
||||||
|
|
|
@ -82,6 +82,7 @@ void plrdhtml(char *, int, Www *);
|
||||||
void plrdplain(char *, int, Www *);
|
void plrdplain(char *, int, Www *);
|
||||||
void htmlerror(char *, int, char *, ...); /* user-supplied routine */
|
void htmlerror(char *, int, char *, ...); /* user-supplied routine */
|
||||||
void seturl(Url *, char *, char *);
|
void seturl(Url *, char *, char *);
|
||||||
|
void freeurl(Url *);
|
||||||
Url *selurl(char *);
|
Url *selurl(char *);
|
||||||
void getpix(Rtext *, Www *);
|
void getpix(Rtext *, Www *);
|
||||||
ulong countpix(void *p);
|
ulong countpix(void *p);
|
||||||
|
@ -99,6 +100,7 @@ int filetype(int, char *, int);
|
||||||
int snooptype(int);
|
int snooptype(int);
|
||||||
void mkfieldpanel(Rtext *);
|
void mkfieldpanel(Rtext *);
|
||||||
void geturl(char *, int, int, int);
|
void geturl(char *, int, int, int);
|
||||||
|
char *urlstr(Url *);
|
||||||
int urlpost(Url*, char*);
|
int urlpost(Url*, char*);
|
||||||
int urlget(Url*, int);
|
int urlget(Url*, int);
|
||||||
int urlresolve(Url *);
|
int urlresolve(Url *);
|
||||||
|
|
Loading…
Reference in a new issue