Explorar o código

Reloadscript cleanup

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@6707 54d463be-8e91-2dee-dedb-b68131a5f0ec
Lance %!s(int64=19) %!d(string=hai) anos
pai
achega
6dc8e549e4
Modificáronse 1 ficheiros con 13 adicións e 2 borrados
  1. 13 2
      src/map/script.c

+ 13 - 2
src/map/script.c

@@ -11966,9 +11966,20 @@ int script_reload()
 	
 	mapreg_db->clear(mapreg_db, NULL);
 	mapregstr_db->clear(mapreg_db, NULL);
-	userfunc_db->clear(mapreg_db, NULL);
+	userfunc_db->clear(mapreg_db,do_final_userfunc_sub);
 	scriptlabel_db->clear(mapreg_db, NULL);
-	
+
+	if(sleep_db) {
+		struct linkdb_node *n = (struct linkdb_node *)sleep_db;
+		while(n) {
+			struct script_state *st = (struct script_state *)n->data;
+			script_free_stack(st->stack);
+			free(st);
+			n = n->next;
+		}
+		linkdb_final(&sleep_db);
+	}
+
 	script_load_mapreg();
 	return 0;
 }