]> git.sur5r.net Git - cc65/blobdiff - src/ca65/feature.c
Finished implemenation of commands to delete macros. Added the new commands to
[cc65] / src / ca65 / feature.c
index e5a0d4a289085464f24f875543a3e0a92ae775ae..e138bfe74a83e65bae7acfd4239c7793eb365911 100644 (file)
@@ -6,8 +6,8 @@
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
-/* (C) 2000-2004 Ullrich von Bassewitz                                       */
-/*               Römerstraße 52                                              */
+/* (C) 2000-2008 Ullrich von Bassewitz                                       */
+/*               Roemerstrasse 52                                            */
 /*               D-70794 Filderstadt                                         */
 /* EMail:        uz@cc65.org                                                 */
 /*                                                                           */
@@ -60,6 +60,7 @@ static const char* FeatureKeys[FEAT_COUNT] = {
     "pc_assignment",
     "missing_char_term",
     "ubiquitous_idents",
+    "c_comments",
 };
 
 
@@ -70,7 +71,7 @@ static const char* FeatureKeys[FEAT_COUNT] = {
 
 
 
-feature_t FindFeature (const char* Key)
+feature_t FindFeature (const StrBuf* Key)
 /* Find the feature in a table and return the corresponding enum value. If the
  * feature is invalid, return FEAT_UNKNOWN.
  */
@@ -79,7 +80,7 @@ feature_t FindFeature (const char* Key)
 
     /* This is not time critical, so do a linear search */
     for (F = (feature_t) 0; F < FEAT_COUNT; ++F) {
-       if (strcmp (Key, FeatureKeys[F]) == 0) {
+               if (SB_CompareStr (Key, FeatureKeys[F]) == 0) {
            /* Found, index is enum value */
            return F;
        }
@@ -91,7 +92,7 @@ feature_t FindFeature (const char* Key)
 
 
 
-feature_t SetFeature (const char* Key)
+feature_t SetFeature (const StrBuf* Key)
 /* Find the feature and set the corresponding flag if the feature is known.
  * In any case, return the feature found. An invalid Key will return
  * FEAT_UNKNOWN.
@@ -113,6 +114,7 @@ feature_t SetFeature (const char* Key)
        case FEAT_PC_ASSIGNMENT:              PCAssignment      = 1;    break;
         case FEAT_MISSING_CHAR_TERM:          MissingCharTerm   = 1;    break;
         case FEAT_UBIQUITOUS_IDENTS:          UbiquitousIdents  = 1;    break;
+        case FEAT_C_COMMENTS:                 CComments         = 1;    break;
        default:                         /* Keep gcc silent */          break;
     }