rem: STRINGP("Boolean");  val = PLGetString(value);
add: GET_STRING_OR_DEFAULT("Boolean", val);
context: getBool(WScreen *scr, WDefaultEntry *entry, proplist_t value, void *addr,	void **ret){    static char data;    char *val;    int second_pass=0;    STRINGP("Boolean");    val = PLGetString(value);again:    if ((val[1]=='\0' && (val[0]=='y' || val[0]=='Y'))	|| strcasecmp(val, "YES")==0) {	data = 1;    } else if ((val[1]=='\0' && (val[0]=='n' || val[0]=='N'))		|| strcasecmp(val, "NO")==0) {      data = 0;    } else {	int i;	if (sscanf(val, "%i", &i)==1) {	    if (i!=0)		data = 1;	    else		data = 0;	} else {	    wwarning(_("can't convert \"%s\" to boolean for key \"%s\""),		     val, entry->key);	    if (second_pass==0) {		val = PLGetString(entry->plvalue);		second_pass = 1;		wwarning(_("using default \"%s\" instead"), val);		goto again;	    }	    return False;	}    }        if (ret)      *ret = &data;        if (addr) {	*(char*)addr = data;    }        return True;}