dup method

int dup(
  1. ClipToken dst
)

Implementation

int dup( ClipToken dst ){
	ClipTokenData? srcCur;
	ClipTokenData dstCur;
	ClipTokenData tmp;

	// 初期化
	dst._top = null;
	dst._end = null;
	dst._get = null;

	if( _top != null ){
		// 先頭に登録する
		dstCur   = ClipTokenData();
		dst._top = dstCur;

		dstCur._code  = _top!._code;
		dstCur._token = newToken( _top!._code, _top!._token );

		srcCur = _top!._next;

		while( srcCur != null ){
			// 最後尾に追加する
			tmp          = ClipTokenData();
			tmp._before  = dstCur;
			dstCur._next = tmp;
			dstCur       = tmp;

			dstCur._code  = srcCur._code;
			dstCur._token = newToken( srcCur._code, srcCur._token );

			srcCur = srcCur._next;
		}

		dstCur._next = null;
		dst._end     = dstCur;
	}

	return ClipGlobal.noErr;
}