Changeset 13 in serd


Ignore:
Timestamp:
2011-01-20 11:08:09 (4 years ago)
Author:
drobilla
Message:

Add serd_string_free to API.

Location:
trunk
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/serd/serd.h

    r12 r13  
    7171} SerdNodeType; 
    7272 
    73 /** @name URIs 
     73/** @name URI 
     74 * Support for parsing and resolving URIs. 
    7475 * @{ 
    7576 */ 
     
    124125 
    125126/** @} */ 
    126  
    127127/** @name String 
     128 * @brief A measured UTF-8 string. 
    128129 * @{ 
    129130 */ 
     
    146147serd_string_copy(const SerdString* str); 
    147148 
     149/** Free @a str. */ 
     150SERD_API 
     151void 
     152serd_string_free(SerdString* str); 
     153 
    148154/** Serialise @a uri to a string. */ 
    149155SERD_API 
     
    151157serd_string_new_from_uri(const SerdURI* uri, 
    152158                         SerdURI*       out); 
    153  
    154 /** Write a node to @a file. */ 
    155 SERD_API 
    156 bool 
    157 serd_write_node(FILE*             file, 
    158                 const SerdURI*    base_uri, 
    159                 SerdNamespaces    ns, 
    160                 SerdNodeType      type, 
    161                 const SerdString* str, 
    162                 const SerdString* datatype, 
    163                 const SerdString* lang); 
    164  
    165 /** @} */ 
    166  
    167  
     159/** @} */ 
     160/** @name Namespaces 
     161 * @brief A dictionary of namespaces (names associated with URI strings) 
     162 * @{ 
     163 */ 
     164 
     165/** Create a new namespaces dictionary. */ 
     166SERD_API 
     167SerdNamespaces 
     168serd_namespaces_new(); 
     169 
     170/** Free @a ns. */ 
     171SERD_API 
     172void 
     173serd_namespaces_free(SerdNamespaces ns); 
     174 
     175/** Add namespace @a uri to @a ns using prefix @a name. */ 
     176SERD_API 
     177void 
     178serd_namespaces_add(SerdNamespaces    ns, 
     179                    const SerdString* name, 
     180                    const SerdString* uri); 
     181 
     182/** Expand @a qname. */ 
     183SERD_API 
     184bool 
     185serd_namespaces_expand(SerdNamespaces     ns, 
     186                       const SerdString*  qname, 
     187                       SerdChunk*         uri_prefix, 
     188                       SerdChunk*         uri_suffix); 
     189 
     190/** @} */ 
    168191/** @name Reader 
     192 * @brief Reader for RDF syntax. 
    169193 * @{ 
    170194 */ 
     
    213237 
    214238/** @} */ 
    215  
    216  
    217 /** @name Namespaces 
    218  * @{ 
    219  */ 
    220  
    221 /** Create a new namespaces dictionary. */ 
    222 SERD_API 
    223 SerdNamespaces 
    224 serd_namespaces_new(); 
    225  
    226 /** Free @a ns. */ 
    227 SERD_API 
    228 void 
    229 serd_namespaces_free(SerdNamespaces ns); 
    230  
    231 /** Add namespace @a uri to @a ns using prefix @a name. */ 
    232 SERD_API 
    233 void 
    234 serd_namespaces_add(SerdNamespaces    ns, 
    235                     const SerdString* name, 
    236                     const SerdString* uri); 
    237  
    238 /** Expand @a qname. */ 
    239 SERD_API 
    240 bool 
    241 serd_namespaces_expand(SerdNamespaces     ns, 
    242                        const SerdString*  qname, 
    243                        SerdChunk*         uri_prefix, 
    244                        SerdChunk*         uri_suffix); 
     239/** @name Writer 
     240 * @brief Writer of RDF syntax. 
     241 * @{ 
     242 */ 
     243 
     244/** Write a node to @a file. */ 
     245SERD_API 
     246bool 
     247serd_write_node(FILE*             file, 
     248                const SerdURI*    base_uri, 
     249                SerdNamespaces    ns, 
     250                SerdNodeType      type, 
     251                const SerdString* str, 
     252                const SerdString* datatype, 
     253                const SerdString* lang); 
    245254 
    246255/** @} */ 
  • trunk/src/namespaces.c

    r12 r13  
    4848{ 
    4949    for (size_t i = 0; i < ns->n_namespaces; ++i) { 
    50         free(ns->namespaces[i].name); 
    51         free(ns->namespaces[i].uri); 
     50        serd_string_free(ns->namespaces[i].name); 
     51        serd_string_free(ns->namespaces[i].uri); 
    5252    } 
    5353    free(ns->namespaces); 
     
    8181    SerdNamespace* const record = serd_namespaces_find(ns, name->buf, name->n_chars); 
    8282    if (record) { 
    83         free(record->uri); 
     83        serd_string_free(record->uri); 
    8484        record->uri = serd_string_copy(uri); 
    8585    } else { 
  • trunk/src/serdi.c

    r12 r13  
    6161 
    6262    // Replace the old base URI 
    63     free(state->base_uri_str); 
     63    serd_string_free(state->base_uri_str); 
    6464    state->base_uri_str = base_uri_str; 
    6565    state->base_uri     = base_uri; 
     
    8686        SerdString* abs_uri_string = serd_string_new_from_uri(&abs_uri, &new_abs_uri); 
    8787        serd_namespaces_add(state->ns, name, abs_uri_string); 
    88         free(abs_uri_string); 
     88        serd_string_free(abs_uri_string); 
    8989    } else { 
    9090        serd_namespaces_add(state->ns, name, uri_string); 
     
    156156    fclose(in_fd); 
    157157    serd_namespaces_free(state.ns); 
    158     free(state.base_uri_str); 
     158    serd_string_free(state.base_uri_str); 
    159159 
    160160    if (success) { 
  • trunk/src/string.c

    r8 r13  
    6464    return NULL; 
    6565} 
     66 
     67SERD_API 
     68void 
     69serd_string_free(SerdString* str) 
     70{ 
     71    free(str); 
     72} 
Note: See TracChangeset for help on using the changeset viewer.