Преглед изворни кода

Fixed `va_list` being reused in DBMap code (`linkdb_foreach()`) (bugreport:5367).

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@15628 54d463be-8e91-2dee-dedb-b68131a5f0ec
gepard1984 пре 13 година
родитељ
комит
8a541cdba3
1 измењених фајлова са 3 додато и 4 уклоњено
  1. 3 4
      src/common/db.c

+ 3 - 4
src/common/db.c

@@ -2601,15 +2601,14 @@ void linkdb_insert( struct linkdb_node** head, void *key, void* data)
 
 void linkdb_foreach( struct linkdb_node** head, LinkDBFunc func, ...  )
 {
-	va_list args;
 	struct linkdb_node *node;
-	
 	if( head == NULL ) return;
-	
-	va_start(args, func);
 	node = *head;
 	while ( node ) {
+		va_list args;
+		va_start(args, func);
 		func( node->key, node->data, args );
+		va_end(args);
 		node = node->next;
 	}
 }