فهرست منبع

Fixed plenty "comparison of unsigned expression >= 0 is always true" warnings in multiple compilers

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@16394 54d463be-8e91-2dee-dedb-b68131a5f0ec
shennetsind 13 سال پیش
والد
کامیت
7d1e29cf0f
1فایلهای تغییر یافته به همراه4 افزوده شده و 2 حذف شده
  1. 4 2
      src/map/pc.h

+ 4 - 2
src/map/pc.h

@@ -633,15 +633,17 @@ enum e_pc_permission {
 #define pc_check_weapontype(sd, type) ((type)&((sd)->status.weapon < MAX_WEAPON_TYPE? \
 	1<<(sd)->status.weapon:(1<<(sd)->weapontype1)|(1<<(sd)->weapontype2)))
 //Checks if the given class value corresponds to a player class. [Skotlex]
-#define pcdb_checkid(class_) \
+//JOB_NOVICE isn't checked for class_ is supposed to be unsigned
+#define pcdb_checkid_sub(class_) \
 ( \
-	( (class_) >= JOB_NOVICE         && (class_) <  JOB_MAX_BASIC      ) \
+	( (class_) <  JOB_MAX_BASIC ) \
 ||	( (class_) >= JOB_NOVICE_HIGH    && (class_) <= JOB_DARK_COLLECTOR ) \
 ||	( (class_) >= JOB_RUNE_KNIGHT    && (class_) <= JOB_MECHANIC_T2    ) \
 ||	( (class_) >= JOB_BABY_RUNE      && (class_) <= JOB_BABY_MECHANIC2 ) \
 ||	( (class_) >= JOB_SUPER_NOVICE_E && (class_) <= JOB_SUPER_BABY_E   ) \
 ||	( (class_) >= JOB_KAGEROU        && (class_) <  JOB_MAX            ) \
 )
+#define pcdb_checkid(class_) pcdb_checkid_sub((unsigned int)class_)
 
 // clientside display macros (values to the left/right of the "+")
 #ifdef RENEWAL