Просмотр исходного кода

ncd: NCDVal: add NCDVal_IdStringStringIndex()

ambrop7 13 лет назад
Родитель
Сommit
34f46fe94a
2 измененных файлов с 15 добавлено и 0 удалено
  1. 8 0
      ncd/NCDVal.c
  2. 7 0
      ncd/NCDVal.h

+ 8 - 0
ncd/NCDVal.c

@@ -691,6 +691,14 @@ NCD_string_id_t NCDVal_IdStringId (NCDValRef idstring)
     return ids_e->string_id;
 }
 
+NCDStringIndex * NCDVal_IdStringStringIndex (NCDValRef idstring)
+{
+    ASSERT(NCDVal_IsIdString(idstring))
+    
+    struct NCDVal__idstring *ids_e = NCDValMem__BufAt(idstring.mem, idstring.idx);
+    return ids_e->string_index;
+}
+
 int NCDVal_StringHasNulls (NCDValRef string)
 {
     ASSERT(NCDVal_IsString(string))

+ 7 - 0
ncd/NCDVal.h

@@ -368,6 +368,13 @@ void NCDVal_IdStringGet (NCDValRef idstring, NCD_string_id_t *out_string_id,
  */
 NCD_string_id_t NCDVal_IdStringId (NCDValRef idstring);
 
+/**
+ * Returns the string index of an ID-string.
+ * The value given must be an ID-string value (which can be determined via
+ * {@link NCDVal_IsIdString}).
+ */
+NCDStringIndex * NCDVal_IdStringStringIndex (NCDValRef idstring);
+
 /**
  * Determines if the string value has any null bytes in its contents,
  * i.e. that length > strlen().