Skip to content
Snippets Groups Projects
Commit c6649837 authored by Deon George's avatar Deon George
Browse files

Merge branch 'upstream'

Bring master update to date with upstream
parents 805e84a3 c4f18231
No related branches found
No related tags found
No related merge requests found
#!/sbbs/exec/jsexec -x -c /sbbs/ctrl
load("gnatslib.js");
var logmsg='----- CVS Commit Message -----\n';
var name=argv[0];
var gnats_user="guest";
var password=undefined;
if(argc>1)
gnats_user=argv[1];
if(argc>2)
password=argv[2];
var gnats = new GNATS("bugs.synchro.net",gnats_user,password);
if(!gnats.connect())
handle_error();
while((line=readln()) != undefined)
logmsg += line+"\n";
logmsg+='--- End CVS Commit Message ---\n\n';
auditprs=new Object;
stateprs=new Object;
myRe=/PR:\s?([0-9]+)/g;
while((pr=myRe.exec(logmsg))!=undefined) {
auditprs[pr[1]]=pr[1];
}
myRe=/PR:\s?([0-9]+)-\>([a-z]*)/g;
while((pr=myRe.exec(logmsg))!=undefined) {
stateprs[pr[1]]=pr[2];
}
for(pr in stateprs) {
var oldstate = gnats.get_field(pr,"State");
oldstate = oldstate.replace(/[\r\n]/g,'');
if(stateprs[pr] != oldstate) {
log("Changeing state of PR: "+pr+" to "+stateprs[pr]);
if(!gnats.replace(pr, "State", stateprs[pr], logmsg))
handle_error();
else
delete auditprs[pr];
}
}
for(pr in auditprs) {
var oldname = gnats.get_field(pr,"Responsible");
oldname = oldname.replace(/[\r\n]/g,'');
if(name != oldname) {
log("Changeing responsible to "+name+" for PR: "+pr);
if(!gnats.replace(pr, "Responsible", name, logmsg))
handle_error();
}
else {
log("Sending followup to PR: "+pr);
if(!gnats.send_followup(pr, name, name, logmsg))
handle_error();
}
}
function handle_error()
{
log(gnats.error);
gnats.close();
exit(1);
}
......@@ -160,13 +160,19 @@ char sbbs_t::putmsgfrag(const char* buf, long* mode, long org_cols, JSObject* ob
break;
}
if((*mode) & P_MARKUP) {
if(((mark == 0) && (str[l] == '*' || str[l] == '/' || str[l] == '_' || str[l] == '#')) || str[l] == mark) {
char* next= NULL;
if(mark == 0)
const char* marks = "*/_#";
if(((mark == 0) && strchr(marks, str[l]) != NULL) || str[l] == mark) {
char* next = NULL;
char following = '\0';
if(mark == 0) {
next = strchr(str + l + 1, str[l]);
if(next != NULL)
following = *(next + 1);
}
char *blank = strstr(str + l + 1, "\n\r");
if(((l < 1 || IS_WHITESPACE(str[l - 1]) || IS_PUNCTUATION(str[l - 1]))
&& IS_ALPHANUMERIC(str[l + 1]) && mark == 0 && next != NULL && (*(next + 1) == '\0' || IS_WHITESPACE(*(next + 1)) || IS_PUNCTUATION(*(next+1)))
if(((l < 1 || ((IS_WHITESPACE(str[l - 1]) || IS_PUNCTUATION(str[l - 1])) && strchr(marks, str[l - 1]) == NULL))
&& IS_ALPHANUMERIC(str[l + 1]) && mark == 0 && next != NULL
&& (following == '\0' || IS_WHITESPACE(following) || (IS_PUNCTUATION(following) && strchr(marks, following) == NULL))
&& (blank == NULL || next < blank))
|| str[l] == mark) {
if(mark == 0)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment