asn_sequence_of.c

来自「H.248协议编解码协议栈」· C语言 代码 · 共 42 行

C
42
字号
/*- * Copyright (c) 2003, 2004 Lev Walkin <vlm@lionet.info>. All rights reserved. * Redistribution and modifications are permitted subject to BSD license. */#include <asn_internal.h>#include <asn_SEQUENCE_OF.h>typedef A_SEQUENCE_OF(void) asn_sequence;voidasn_sequence_del(void *asn_sequence_of_x, int number, int _do_free) {	asn_sequence *as = (asn_sequence *)asn_sequence_of_x;	if(as) {		void *ptr;		int n;		if(number < 0 || number >= as->count)			return;	/* Nothing to delete */		if(_do_free && as->free) {			ptr = as->array[number];		} else {			ptr = 0;		}		/*		 * Shift all elements to the left to hide the gap.		 */		--as->count;		for(n = number; n < as->count; n++)			as->array[n] = as->array[n+1];		/*		 * Invoke the third-party function only when the state		 * of the parent structure is consistent.		 */		if(ptr) as->free(ptr);	}}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?