X-Git-Url: https://harrygodden.com/git/?a=blobdiff_plain;f=addon.c;h=ef92b0083ce4f1ba1c6a49a39d2a0e4c4a191aea;hb=137d40d96fe923600d8378b8e138e3c276f27ff4;hp=fcec0b9f6e8ba945dc8d46a6197ef750368819c5;hpb=074fa69f479724f9800849430bad5caf730b01ef;p=carveJwlIkooP6JGAAIwe30JlM.git diff --git a/addon.c b/addon.c index fcec0b9..ef92b00 100644 --- a/addon.c +++ b/addon.c @@ -306,14 +306,11 @@ static addon_reg *addon_mount_workshop_folder( PublishedFileId_t workshop_id, } enum addon_type type = k_addon_type_none; - vg_msg root = {0}; - root.buf = reg->metadata; - root.len = reg->metadata_len; - root.max = sizeof(reg->metadata); + vg_msg msg; + vg_msg_init( &msg, reg->metadata, reg->metadata_len ); - vg_msg workshop = root; - if( vg_msg_seekframe( &workshop, "workshop", k_vg_msg_first )){ - type = vg_msg_seekkvu32( &workshop, "type", k_vg_msg_first ); + if( vg_msg_seekframe( &msg, "workshop" )){ + type = vg_msg_getkvu32( &msg, "type", 0 ); } if( type == k_addon_type_none ){ @@ -358,10 +355,8 @@ static addon_reg *addon_mount_local_addon( const char *folder, if( reg->metadata_len == 0 ){ /* create our own content commands */ - vg_msg msg = {0}; - msg.buf = reg->metadata; - msg.len = 0; - msg.max = sizeof(reg->metadata); + vg_msg msg; + vg_msg_init( &msg, reg->metadata, sizeof(reg->metadata) ); u32 content_count = 0; @@ -394,7 +389,7 @@ static addon_reg *addon_mount_local_addon( const char *folder, if( !content_count ) return NULL; if( msg.error == k_vg_msg_error_OK ) - reg->metadata_len = msg.cur; + reg->metadata_len = msg.cur.co; else{ vg_error( "Error creating metadata: %d\n", msg.error ); return NULL; @@ -624,12 +619,10 @@ static int addon_cache_load_request( enum addon_type type, u16 id, * --------------------------------- */ vg_str content_path = folder; - vg_msg root = {0}; - root.buf = reg->metadata; - root.len = reg->metadata_len; - root.max = sizeof(reg->metadata); + vg_msg msg; + vg_msg_init( &msg, reg->metadata, reg->metadata_len ); - const char *kv_content = vg_msg_seekkvstr( &root, "content", 0 ); + const char *kv_content = vg_msg_getkvstr( &msg, "content" ); if( kv_content ){ vg_strcat( &content_path, "/" ); vg_strcat( &content_path, kv_content );