int oggz_comment_add_byname (OGGZ * oggz, long serialno, const char * name, const char * value) { oggz_stream_t * stream; OggzComment * new_comment; if (oggz == NULL) return OGGZ_ERR_BAD_OGGZ; stream = oggz_get_stream (oggz, serialno); if (stream == NULL) stream = oggz_add_stream (oggz, serialno); if (oggz->flags & OGGZ_WRITE) { if (OGGZ_CONFIG_WRITE) { if (!oggz_comment_validate_byname (name, value)) return OGGZ_ERR_COMMENT_INVALID; new_comment = oggz_comment_new (name, value); _oggz_comment_add (stream, new_comment); return 0; } else { return OGGZ_ERR_DISABLED; } } else { return OGGZ_ERR_INVALID; } }
int oggz_comment_add (OGGZ * oggz, long serialno, const OggzComment * comment) { oggz_stream_t * stream; OggzComment * new_comment; if (oggz == NULL) return OGGZ_ERR_BAD_OGGZ; stream = oggz_get_stream (oggz, serialno); if (stream == NULL) stream = oggz_add_stream (oggz, serialno); if (stream == NULL) return OGGZ_ERR_OUT_OF_MEMORY; if (oggz->flags & OGGZ_WRITE) { if (OGGZ_CONFIG_WRITE) { if (!oggz_comment_validate_byname (comment->name)) return OGGZ_ERR_COMMENT_INVALID; if (_oggz_comment_add_byname (stream, comment->name, comment->value) == NULL) return OGGZ_ERR_OUT_OF_MEMORY; return 0; } else { return OGGZ_ERR_DISABLED; } } else { return OGGZ_ERR_INVALID; } }
int oggz_comment_set_vendor (OGGZ * oggz, long serialno, const char * vendor_string) { oggz_stream_t * stream; if (oggz == NULL) return OGGZ_ERR_BAD_OGGZ; stream = oggz_get_stream (oggz, serialno); if (stream == NULL) stream = oggz_add_stream (oggz, serialno); if (oggz->flags & OGGZ_WRITE) { if (OGGZ_CONFIG_WRITE) { return _oggz_comment_set_vendor (oggz, serialno, vendor_string); } else { return OGGZ_ERR_DISABLED; } } else { return OGGZ_ERR_INVALID; } }