Merge pull request #6 from fuzxxl/master
Fix compilation with clang, work around double free
This commit is contained in:
commit
c89d60c79b
@ -741,13 +741,13 @@ XGCValues values;
|
|||||||
hw->html.bgclip_SAVE=None;
|
hw->html.bgclip_SAVE=None;
|
||||||
|
|
||||||
if (NoBodyImages(hw)) {
|
if (NoBodyImages(hw)) {
|
||||||
return;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* ??? Why is this here? */
|
/* ??? Why is this here? */
|
||||||
hw->html.view->core.background_pixel = hw->html.background_SAVE ;
|
hw->html.view->core.background_pixel = hw->html.background_SAVE ;
|
||||||
|
|
||||||
return;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
int NoBodyImages(Widget w) {
|
int NoBodyImages(Widget w) {
|
||||||
@ -770,7 +770,7 @@ unsigned long valuemask;
|
|||||||
XGCValues values;
|
XGCValues values;
|
||||||
|
|
||||||
if (!bgname || !*bgname || !(hw->html.drawGC)) {
|
if (!bgname || !*bgname || !(hw->html.drawGC)) {
|
||||||
return;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (hw->html.delay_images==True || currently_delaying_images==1) {
|
if (hw->html.delay_images==True || currently_delaying_images==1) {
|
||||||
@ -814,7 +814,7 @@ XGCValues values;
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -832,7 +832,7 @@ hw_do_color(Widget w, char *att, char *cname)
|
|||||||
int i;
|
int i;
|
||||||
|
|
||||||
if (!att || !*att || !cname || !*cname) {
|
if (!att || !*att || !cname || !*cname) {
|
||||||
return;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
cmap = hw->core.colormap;
|
cmap = hw->core.colormap;
|
||||||
@ -847,14 +847,14 @@ hw_do_color(Widget w, char *att, char *cname)
|
|||||||
if(!allocated){
|
if(!allocated){
|
||||||
if(*val=='#') val++;
|
if(*val=='#') val++;
|
||||||
if (!*val) {
|
if (!*val) {
|
||||||
return;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (strlen(val)>=6) {
|
if (strlen(val)>=6) {
|
||||||
/* Must be valid hex */
|
/* Must be valid hex */
|
||||||
for (i=0; i<6; i++) {
|
for (i=0; i<6; i++) {
|
||||||
if (!strchr("0123456789AaBbCcDdEeFf",val[i])) {
|
if (!strchr("0123456789AaBbCcDdEeFf",val[i])) {
|
||||||
return;
|
return -1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -875,10 +875,10 @@ hw_do_color(Widget w, char *att, char *cname)
|
|||||||
col.flags = DoRed | DoGreen | DoBlue;
|
col.flags = DoRed | DoGreen | DoBlue;
|
||||||
|
|
||||||
if (!XAllocColor(XtDisplay(w),cmap,&col)) {
|
if (!XAllocColor(XtDisplay(w),cmap,&col)) {
|
||||||
return;
|
return -1;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
return;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
@ -910,7 +910,7 @@ hw_do_color(Widget w, char *att, char *cname)
|
|||||||
hw->html.activeAnchor_fg = col.pixel;
|
hw->html.activeAnchor_fg = col.pixel;
|
||||||
}
|
}
|
||||||
|
|
||||||
return;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
@ -2706,7 +2706,7 @@ int extra;
|
|||||||
|
|
||||||
if ((*mptr)->is_end) {
|
if ((*mptr)->is_end) {
|
||||||
/* end of table */
|
/* end of table */
|
||||||
return;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
extra = 10;
|
extra = 10;
|
||||||
@ -2715,7 +2715,7 @@ int extra;
|
|||||||
SetElement(hw, E_TABLE, currentFont, *x, *y, (char *) mptr, NULL, NULL, IMAGE_DEFAULT_BORDER);
|
SetElement(hw, E_TABLE, currentFont, *x, *y, (char *) mptr, NULL, NULL, IMAGE_DEFAULT_BORDER);
|
||||||
if (!Current->table_data) {
|
if (!Current->table_data) {
|
||||||
/* no table */
|
/* no table */
|
||||||
return;
|
return 0;
|
||||||
}
|
}
|
||||||
Current->alignment = ALIGN_MIDDLE;
|
Current->alignment = ALIGN_MIDDLE;
|
||||||
Current->width = Current->table_data->width;
|
Current->width = Current->table_data->width;
|
@ -1078,11 +1078,11 @@ int baseLine;
|
|||||||
int yy;
|
int yy;
|
||||||
|
|
||||||
if (field->type == F_NONE) { /* nothing to display in field */
|
if (field->type == F_NONE) { /* nothing to display in field */
|
||||||
return;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (field->type != F_TEXT) { /* routine only does text at this time */
|
if (field->type != F_TEXT) { /* routine only does text at this time */
|
||||||
return;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* adjust for aesthetic surounding space */
|
/* adjust for aesthetic surounding space */
|
@ -960,7 +960,7 @@ int NNTPgetarthdrs(char *art,char **ref, char **grp, char **subj, char **from)
|
|||||||
char ch = *p++ = HTGetCharacter ();
|
char ch = *p++ = HTGetCharacter ();
|
||||||
if (ch==(char)EOF) {
|
if (ch==(char)EOF) {
|
||||||
abort_socket(); /* End of file, close socket */
|
abort_socket(); /* End of file, close socket */
|
||||||
return; /* End of file on response */
|
return -1; /* End of file on response */
|
||||||
}
|
}
|
||||||
|
|
||||||
if ((ch == LF)
|
if ((ch == LF)
|
@ -71,6 +71,7 @@
|
|||||||
#include <signal.h>
|
#include <signal.h>
|
||||||
#include <sys/utsname.h>
|
#include <sys/utsname.h>
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
|
#include <malloc.h>
|
||||||
|
|
||||||
/* swp */
|
/* swp */
|
||||||
#define _KCMS_H_
|
#define _KCMS_H_
|
||||||
@ -231,6 +232,14 @@ main (int argc, char **argv, char **envp)
|
|||||||
/* Since we're doing lots of TCP, just ignore SIGPIPE altogether. */
|
/* Since we're doing lots of TCP, just ignore SIGPIPE altogether. */
|
||||||
signal (SIGPIPE, SIG_IGN);
|
signal (SIGPIPE, SIG_IGN);
|
||||||
|
|
||||||
|
#ifdef M_CHECK_ACTION
|
||||||
|
/* some code here has the habit of freeing pointers twice. The glibc
|
||||||
|
catches this and causes the program to abort. In order to make the
|
||||||
|
code somehow work, we turn aborting the program off. */
|
||||||
|
|
||||||
|
mallopt(M_CHECK_ACTION,5);
|
||||||
|
#endif
|
||||||
|
|
||||||
InitChildProcessor();
|
InitChildProcessor();
|
||||||
MoCCIPreInitialize();
|
MoCCIPreInitialize();
|
||||||
|
|
Loading…
Reference in New Issue
Block a user