Przeglądaj źródła

Fixed and tweaked error messages in npc parsing [MouseJstr]

git-svn-id: https://svn.code.sf.net/p/rathena/svn/branches/stable@1417 54d463be-8e91-2dee-dedb-b68131a5f0ec
amber 20 lat temu
rodzic
commit
de69f62bf9
3 zmienionych plików z 8 dodań i 5 usunięć
  1. 2 0
      Changelog-SVN.txt
  2. 2 1
      src/login_sql/login.c
  3. 4 4
      src/map/npc.c

+ 2 - 0
Changelog-SVN.txt

@@ -2,6 +2,8 @@
 Date	Added
 
 04/06
+        * Improved error messages during npc parsing [MouseJstr]
+        * Fixed a crash in login_sql [MouseJstr]
 	* Added logs filters in more logs [Lupus]
 	  now you can set individual bit-mask filter for each log file
 		Example: (drops log)

+ 2 - 1
src/login_sql/login.c

@@ -166,7 +166,8 @@ int is_user_online(int account_id) {
 		return 0;
 
 	p = (int*)numdb_search(online_db, account_id);
-	printf("Acccount %d\n",*p);
+        if (p != NULL)
+	    printf("Acccount %d\n",*p);
 	
 	return (p != NULL);
 }

+ 4 - 4
src/map/npc.c

@@ -1624,7 +1624,7 @@ int npc_convertlabel_db(void *key,void *data,va_list ap)
 	
 	// here we check if the label fit into the buffer
 	if (strlen(lname)>23) { 
-		printf("npc_parse_script: label name longer than 23 chars! '%s'\n", lname);
+		printf("npc_parse_script: label name longer than 23 chars! '%s'\n (%s)", lname, current_file);
 		exit(1);
 	}
 	memcpy(lst[num].name,lname,strlen(lname)+1); //including EOS
@@ -1849,7 +1849,7 @@ why allocing 50 chars ?
 why checking here? 
 lname is identical to nd->u.scr.label_list[i].name which is only 24 chars so check for strlen should be 23
 			if (strlen(lname)>24) {
-				printf("npc_parse_script: label name error !\n");
+				printf("npc_parse_script: label name error (%s) !\n", current_file);
 				exit(1);
 			}else{
 				//struct event_data *ev2;
@@ -1871,7 +1871,7 @@ wouldn't it be easier just not to insert the new duplicate event, it is a duplic
 			// and already overwritten if this is here is reached
 			// I leave the check anyway but place it correctly to npc_convertlabel_db
 			if (strlen(lname)>23) { 
-				printf("npc_parse_script: label name longer than 23 chars! '%s'\n", lname);
+				printf("npc_parse_script: label name longer than 23 chars! '%s' (%s)\n", lname, current_file);
 				exit(1);
 			}else{
 				struct event_data *ev;
@@ -1889,7 +1889,7 @@ wouldn't it be easier just not to insert the new duplicate event, it is a duplic
 				// remember the label is max 50 chars + eos; see the strdb_init below
 				ev2 = (struct event_data *)strdb_search(ev_db,buf);
 				if(ev2 != NULL) {
-					printf("npc_parse_script : duplicate event %s\n",buf);
+					printf("npc_parse_script : duplicate event %s (%s)\n",buf, current_file);
 					
 					// just skip the label insertion and free the alloced buffer
 					aFree(buf);