Skip to content
Snippets Groups Projects
Select Git revision
  • dd_msg_reader_use_dd_msg_area_chooser_and_area_sort_update
  • dailybuild_linux-x64
  • dailybuild_win32
  • master default protected
  • sqlite
  • rip_abstraction
  • dailybuild_macos-armv8
  • dd_file_lister_filanem_in_desc_color
  • mode7
  • dd_msg_reader_are_you_there_warning_improvement
  • c23-playing
  • syncterm-1.3
  • syncterm-1.2
  • test-build
  • hide_remote_connection_with_telgate
  • 638-can-t-control-c-during-a-file-search
  • add_body_to_pager_email
  • mingw32-build
  • cryptlib-3.4.7
  • ree/mastermind
  • sbbs320d
  • syncterm-1.6
  • syncterm-1.5
  • syncterm-1.4
  • sbbs320b
  • syncterm-1.3
  • syncterm-1.2
  • syncterm-1.2rc6
  • syncterm-1.2rc5
  • push
  • syncterm-1.2rc4
  • syncterm-1.2rc2
  • syncterm-1.2rc1
  • sbbs319b
  • sbbs318b
  • goodbuild_linux-x64_Sep-01-2020
  • goodbuild_win32_Sep-01-2020
  • goodbuild_linux-x64_Aug-31-2020
  • goodbuild_win32_Aug-31-2020
  • goodbuild_win32_Aug-30-2020
40 results

delmsgs.js

Blame
  • delmsgs.js 878 B
    // Delete msgs
    // usage: [msg-base=mail] [hdr-field=from] "value"
    
    load("sbbsdefs.js");
    
    "use strict";
    
    var base = new MsgBase(argv[0] || "mail");
    var field = argv[1] || "from";
    var value = String(argv[2]).toLowerCase();
    if(!base.open())
    	throw new Error("Can't open base: " + base.code);
    var total_msgs = base.total_msgs;
    var removed = 0;
    for(i=0;i<total_msgs;i++) {
    	hdr = base.get_msg_header(	/* by_offset:		*/	true,
    								/* offset:			*/	i,
    								/* expand_fields:	*/	false);
    	printf("#%lu from: %-30s %08lx\r\n",hdr.number,hdr.from,hdr.attr);
    	if(hdr && !(hdr.attr & MSG_DELETE) && String(hdr[field]).toLowerCase() == value) {
    		hdr.attr |= MSG_DELETE;
    		printf("Removing message #%lu\r\n",hdr.number);
    		if(!base.put_msg_header(true,i,hdr))
    			alert(base.last_error);
    		else {
    			removed++;
    		}
    	}
    }
    
    base.close();
    
    print();
    print(format("Removed %u msgs", removed));