`
shappy1978
  • 浏览: 700273 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

Amendment Quotation function in CLCL Plugin

    博客分类:
  • Win8
 
阅读更多
static int item_quote(DATA_INFO *di, const TCHAR *q_char)
{
	HANDLE ret;
	BYTE *from_mem, *to_mem;
	TCHAR *p, *r;
	int size;

	// ƒRƒs[Œ³ƒƒbƒN
	if ((from_mem = GlobalLock(di->data)) == NULL) {
		return TOOL_ERROR;
	}

	// ˆø—p•„‚Ì•t‰Á‚µ‚½ƒTƒCƒY‚ðŽæ“¾
	size = lstrlen(q_char);
	for (p = (TCHAR *)from_mem; *p != TEXT('\0'); p++) {
#ifndef UNICODE
		if (IsDBCSLeadByte((BYTE)*p) == TRUE) {
			p++;
			size += 2;
			continue;
		}
#endif
		size++;
		if (*p == TEXT('\n') && *(p + 1) != TEXT('\0')) {
			size += lstrlen(q_char)*2;
		}
	}
	size += lstrlen(q_char)+1;

	// ƒRƒs[æŠm•Û
	if ((ret = GlobalAlloc(GHND, sizeof(TCHAR) * size)) == NULL) {
		GlobalUnlock(di->data);
		return TOOL_ERROR;
	}
	// ƒRƒs[æƒƒbƒN
	if ((to_mem = GlobalLock(ret)) == NULL) {
		GlobalFree(ret);
		GlobalUnlock(di->data);
		return TOOL_ERROR;
	}

	// ˆø—p•„‚Ì•t‰Á
	//lstrcpy((TCHAR *)to_mem, q_char);
	//r = (TCHAR *)to_mem + lstrlen(q_char);
	r = (TCHAR *)to_mem;
	BOOL newLine = TRUE;
	for (p = (TCHAR *)from_mem; *p != TEXT('\0'); p++) {
		if (newLine == TRUE){
			while (*p == 32 || *p == '\t'){  // 0X20 Oor 
				*r = *p;
				r++; p++;
			}
			lstrcpy(r, q_char);
			r += lstrlen(q_char);
			newLine = FALSE;
		}

		if (*(p+1) == TEXT('\n') && *p == TEXT('\r') && *(p + 2) != TEXT('\0')) {
			lstrcpy(r, q_char);
			r += lstrlen(q_char);
			newLine = TRUE;
			*r = *p;
			r++; p++;
			*r = *p;
			r++;
		}
		else{
#ifndef UNICODE
			if (IsDBCSLeadByte((BYTE)*p) == TRUE) {
				*(r++) = *(p++);
				*(r++) = *p;
				continue;
			}
#endif
			//*(r++) = *p;
			*r = *p;
			r++;
		}
	}
	lstrcpy(r, q_char);
	r += lstrlen(q_char);
	*r = TEXT('\0');

	GlobalUnlock(ret);
	GlobalUnlock(di->data);

	GlobalFree(di->data);
	di->data = ret;
	di->size = sizeof(TCHAR) * size;
	return TOOL_DATA_MODIFIED;
}

 

The quotation function has issues that it won't add quotation at the end line and won't exclude blank and tab char.

 

 

分享到:
评论

相关推荐

    802.11p Amendment 6: Wireless Access in Vehicular Environments

    ### 802.11p Amendment 6: Wireless Access in Vehicular Environments #### 概述 IEEE 802.11p标准,作为对IEEE 802.11系列标准的一项修正案,专注于在车辆环境中提供无线接入(Wireless Access in Vehicular ...

    TR-069_Amendment-2.zip_specification_tr-069 amendment 2

    TR-069 Amendment 2是该规范的第二个修订版,它旨在增强和扩展原始TR-069协议的功能,以适应不断发展的宽带服务和设备管理需求。 TR-069的核心目标是提供一个安全、自动化的远程管理机制,使得服务提供商(ISP)...

    TR-069_Amendment-5.pdf

    TR-069 Amendment 5是其中的一次重要修订,更新于2013年11月,协议版本升级到了1.4。 TR-069协议的主要目的是为网络运营商提供一个远程管理、配置和监控客户网络设备(Customer Premises Equipment,简称CPE)的...

    ENA-EREC-G98-Issue-1-Amendment-6-(2021)英国G98中文翻译.pdf

    Engineering Recommendation G98 Issue 1 Amendment 6 September 2021:Requirements for the connection of Fully Type Tested Micro-generators (up to and including 16 A per phase) in parallel with public ...

    TR-069 Amendment 3

    ### TR-069 Amendment 3:CPE WAN Management Protocol详解 #### 一、概述 TR-069(Technical Report 069)是由宽带论坛(Broadband Forum)制定的一项标准,全称为《CPE WAN Management Protocol》(CPE WAN管理...

    TR-069_Amendment-6.pdf

    TR-069 Amendment 6是该标准的第六次修订版,于2018年3月获得批准,其CWMP(CPE WAN Management Protocol)版本升级到了1.4。 TR-069的核心功能包括: 1. **远程配置**:服务提供商可以通过TR-069协议,对用户的...

    2nd_amendment

    标题“2nd_amendment”可能指的是美国宪法第二修正案,该修正案主要涉及公民的持枪权。在IT行业中,虽然这个标题不直接关联技术知识,但我们可以从中探讨与数字安全、隐私保护以及信息技术在法律领域的应用等相关...

    TR-069 Amendment 2

    ### TR-069 Amendment 2 技术报告解析与扩展知识点 #### 一、概述 TR-069(CPE WAN Management Protocol)是由DSL论坛制定的一套标准,旨在为宽带服务提供商提供一个统一的远程管理和监控平台,用于管理各种用户...

    TR-098 Issue: 1 Amendment 2 Corrigendum 1

    TR-098 Internet Gateway Device Data Model for TR-069 Issue: 1 Amendment 2 Corrigendum 1 Issue Date: December 2014

    ENA-EREC-G99-Issue-1-Amendment-6-(2020) 英国G99并网标准中文翻译

    Engineering Recommendation G99 Issue 1 – Amendment 6 09 March 2020:Requirements for the connection of generation equipment in parallel with public distribution networks on or after 27 April 2019...

    TR-069Amendment2

    ### TR-069 Amendment 2: CPE WAN Management Protocol v1.1 #### 技术报告概述 《TR-069 Amendment 2:CPE WAN管理协议v1.1》是宽带论坛(The Broadband Forum)发布的一项技术报告,版本日期为2007年12月。该...

    TR-069_Amendment-3.zip_TR-069_Amendment-3_tr_tr 069_tr-069

    TR-069 Amendment-3是该标准的第三个修订版,通常会包含对前一版本的改进和新增功能。 TR-069协议基于SOAP(Simple Object Access Protocol)和HTTP/HTTPS,利用这些开放的互联网协议,服务提供商可以从中央管理...

    TR-143_Amendment-1.pdf

    ### TR-143_Amendment-1.pdf 技术报告关键知识点解析 #### 技术报告概述 《TR-143_Amendment-1.pdf》是一份由宽带论坛(The Broadband Forum)发布的技术报告,该报告主要关注的是网络吞吐量性能测试和统计监控的实现...

    MISRA C:2012 Amendment 2

    MISRA C:2012 Amendment 2是针对MISRA C:2012规范的一个重要更新,旨在与ISO/IEC 9899:2011(即C语言编程语言的国际标准)的核心功能保持同步。这个修订版发布于2020年2月,由HORIBA MIRA Limited出版,其目的是为...

    TR-181_Issue-2_Amendment-2-Device Data Model For TR069

    ### TR-181 Issue-2 Amendment-2 设备数据模型详解 #### 一、概述 TR-181 Issue-2 Amendment-2是宽带论坛(The Broadband Forum)发布的一项技术报告,主要关注于为TR-069提供设备数据模型。TR-069是一种广泛应用...

    TR-098 Amendment1.pdf

    ### TR-098 Amendment1:Internet Gateway Device Data Model for TR-069 #### 概述 《TR-098 Amendment1》是DSL Forum发布的一份技术报告,主要定义了针对TR-069协议(即CPE WAN Management Protocol)的Internet...

    IEEE Std 802.20a -2010 Amendment 1(to 802.20-2008):Management In

    IEEE Std 802.20a -2010 Amendment 1(to 802.20-2008):Management Information Base Enhancements and Corrigenda Items - 完整英文电子版(119页).zip

    802.11ax协议-2011版本amendment1

    该标准在2011年作为对802.11系列标准的第一次修正,即802.11ax-2011 Amendment 1,旨在提高无线网络的效率和性能,以满足日益增长的带宽需求。在2021年,这一标准被更新为802.11ax™-2021,对2020年的版本进行了修订...

    TR069协议文档全集 Amendment-1~6

    TR069协议,英文原版协议...TR-069_Amendment-1.pdf TR-069_Amendment-2.pdf TR-069_Amendment-3.pdf TR-069_Amendment-4.pdf TR-069_Amendment-5.pdf TR-069_Amendment-6.pdf TR-069_Amendment-6_Corrigendum-1.pdf

    TR-106 Amendment 1

    TR-106 Amendment 1 是一份针对TR-106标准的重要修订文档,主要涉及TR-106和TR-069这两项技术。TR-106与TR-069是电信和互联网服务提供商在进行远程设备管理时广泛采用的两项通信协议。 TR-106,全称为“CPE广域网...

Global site tag (gtag.js) - Google Analytics