[jira] [Updated] (TS-2008) Cache control with multiple suffixes
[ https://issues.apache.org/jira/browse/TS-2008?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] bettydramit updated TS-2008: Attachment: ts-2008-v4.patch New patch for ts-2008 This is patch supported suffix=* Cache control with multiple suffixes Key: TS-2008 URL: https://issues.apache.org/jira/browse/TS-2008 Project: Traffic Server Issue Type: New Feature Components: Cache, HTTP Affects Versions: 3.3.4 Reporter: bettydramit Assignee: James Peach Fix For: 4.2.0 Attachments: ts-2008-v3.patch, ts-2008-v4.patch if you want to control on ver many suffix in cache.config: jpeg js ... you need to specify: dest_domain=www.test.com suffix=jpeg ttl-in-cache=1m dest_domain=www.test.com suffix=js ttl-in-cache=1m ... and we can change to : dest_domain=www.test.com suffix=jpeg,js,css,html ttl-in-cache=1m -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Updated] (TS-2008) Cache control with multiple suffixes
[ https://issues.apache.org/jira/browse/TS-2008?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Leif Hedstrom updated TS-2008: -- Description: if you want to control on ver many suffix in cache.config: jpeg js ... you need to specify: dest_domain=www.test.com suffix=jpeg ttl-in-cache=1m dest_domain=www.test.com suffix=js ttl-in-cache=1m ... and we can change to : dest_domain=www.test.com suffix=jpeg,js,css,html ttl-in-cache=1m was: if you want to control on ver many suffix in cache.config: jpeg js ... you need to specify: dest_domain=www.test.com suffix=jpeg ttl-in-cache=1m dest_domain=www.test.com suffix=js ttl-in-cache=1m ... and we can change to : dest_domain=www.test.com suffix=jpeg,js,css,html ttl-in-cache=1m by this patch: {code} diff -Nur ts-3.3.1/proxy/ControlMatcher.cc ts-3.3.1-new/proxy/ControlMatcher.cc --- ts-3.3.1/proxy/ControlMatcher.cc2013-03-10 03:44:28.0 +0800 +++ ts-3.3.1-new/proxy/ControlMatcher.cc2013-07-08 22:42:31.568980245 +0800 @@ -44,7 +44,7 @@ #include P_Cache.h #include P_SplitDNS.h #include congest/Congestion.h - +#include string / * Place all template instantiations at the bottom of the file / @@ -815,6 +815,63 @@ if (file_buf == NULL) { return 1; } + /* add by reggie */ + if(strcmp([CacheControl],matcher_name) == 0){ + Debug(reggie-suffix,file_string is begin ); + char *strbuffern = NULL; + char *strfile_buf = file_buf, *tmpvalue = NULL; + char *cp_line[64]; + int in = 0; + char buffer1[128] = {0}; + char *outer_ptr=NULL; + std::string file_string; + while((strbuffern = strtok_r(strfile_buf,\n,outer_ptr)) != NULL){ + Debug(reggie-suffix,strbuffern is %s,strbuffern); + if(*strbuffern == '#'){ + Debug(reggie-suffix,# is %s ,strbuffern); + strfile_buf = NULL; + continue; + } + if((strchr(strbuffern,',')) != NULL){ + in = 0; + while((cp_line[in]=strtok(strbuffern, ))!=NULL) { + strbuffern = NULL; + in++; + } + if((strchr(cp_line[1],'=') != NULL) (strstr(cp_line[1],suffix))){ + if((cp_line[in] = strtok(cp_line[1],=)) != NULL) + tmpvalue = strtok(NULL,=); + while((cp_line[in] = strtok(tmpvalue,,)) != NULL){ + in++; + tmpvalue = NULL; + } + } + for(int nk = 3; nk in ;nk++){ + //nbuf_len = strlen(cp_line[0]) + strlen(cp_line[2]) +strlen(cp_line[nk]) + 9; + //snprintf(buffer1,nbuf_len,%s suffix=%s %s\n,cp_line[0],cp_line[nk],cp_line[2]); + sprintf(buffer1,%s suffix=%s %s\n,cp_line[0],cp_line[nk],cp_line[2]); + file_string.append(buffer1); + } + } + else{ + file_string.append(strbuffern); + file_string += \n; + } + strfile_buf = NULL; + } + //file_string.erase(file_string.end()-1); + Debug(reggie_suffix,file_string is %s ,file_string.c_str()); + ats_free(file_buf); + file_buf = (char*) ats_malloc(file_string.size()+1); + if(strcpy(file_buf,file_string.c_str()) == NULL){ + ats_free(file_buf); + return 2; + } + ret = BuildTableFromString(file_buf); + ats_free(file_buf); + return ret; + } + /*end by reggie */ ret = BuildTableFromString(file_buf); ats_free(file_buf); {code} I removed the code from the description, sorry for the confusion re: std::string. Cache control with multiple suffixes Key: TS-2008 URL: https://issues.apache.org/jira/browse/TS-2008 Project: Traffic Server Issue Type: New Feature Components: Cache, HTTP Affects Versions: 3.3.4 Reporter: bettydramit Assignee: James Peach Fix For: 3.5.1 Attachments: ts-2008-v3.patch if you want to control on ver many suffix in cache.config: jpeg js ... you need to specify: dest_domain=www.test.com suffix=jpeg ttl-in-cache=1m dest_domain=www.test.com suffix=js ttl-in-cache=1m ... and we can change to : dest_domain=www.test.com suffix=jpeg,js,css,html ttl-in-cache=1m -- This message is automatically
[jira] [Updated] (TS-2008) Cache control with multiple suffixes
[ https://issues.apache.org/jira/browse/TS-2008?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] bettydramit updated TS-2008: Attachment: (was: ts-2008.patch) Cache control with multiple suffixes Key: TS-2008 URL: https://issues.apache.org/jira/browse/TS-2008 Project: Traffic Server Issue Type: New Feature Components: Cache, HTTP Affects Versions: 3.3.4 Reporter: bettydramit Assignee: James Peach Fix For: 3.5.1 Attachments: ts-2008-v3.patch if you want to control on ver many suffix in cache.config: jpeg js ... you need to specify: dest_domain=www.test.com suffix=jpeg ttl-in-cache=1m dest_domain=www.test.com suffix=js ttl-in-cache=1m ... and we can change to : dest_domain=www.test.com suffix=jpeg,js,css,html ttl-in-cache=1m by this patch: {code} diff -Nur ts-3.3.1/proxy/ControlMatcher.cc ts-3.3.1-new/proxy/ControlMatcher.cc --- ts-3.3.1/proxy/ControlMatcher.cc2013-03-10 03:44:28.0 +0800 +++ ts-3.3.1-new/proxy/ControlMatcher.cc2013-07-08 22:42:31.568980245 +0800 @@ -44,7 +44,7 @@ #include P_Cache.h #include P_SplitDNS.h #include congest/Congestion.h - +#include string / * Place all template instantiations at the bottom of the file / @@ -815,6 +815,63 @@ if (file_buf == NULL) { return 1; } + /* add by reggie */ + if(strcmp([CacheControl],matcher_name) == 0){ + Debug(reggie-suffix,file_string is begin ); + char *strbuffern = NULL; + char *strfile_buf = file_buf, *tmpvalue = NULL; + char *cp_line[64]; + int in = 0; + char buffer1[128] = {0}; + char *outer_ptr=NULL; + std::string file_string; + while((strbuffern = strtok_r(strfile_buf,\n,outer_ptr)) != NULL){ + Debug(reggie-suffix,strbuffern is %s,strbuffern); + if(*strbuffern == '#'){ + Debug(reggie-suffix,# is %s ,strbuffern); + strfile_buf = NULL; + continue; + } + if((strchr(strbuffern,',')) != NULL){ + in = 0; + while((cp_line[in]=strtok(strbuffern, ))!=NULL) { + strbuffern = NULL; + in++; + } + if((strchr(cp_line[1],'=') != NULL) (strstr(cp_line[1],suffix))){ + if((cp_line[in] = strtok(cp_line[1],=)) != NULL) + tmpvalue = strtok(NULL,=); + while((cp_line[in] = strtok(tmpvalue,,)) != NULL){ + in++; + tmpvalue = NULL; + } + } + for(int nk = 3; nk in ;nk++){ + //nbuf_len = strlen(cp_line[0]) + strlen(cp_line[2]) +strlen(cp_line[nk]) + 9; + //snprintf(buffer1,nbuf_len,%s suffix=%s %s\n,cp_line[0],cp_line[nk],cp_line[2]); + sprintf(buffer1,%s suffix=%s %s\n,cp_line[0],cp_line[nk],cp_line[2]); + file_string.append(buffer1); + } + } + else{ + file_string.append(strbuffern); + file_string += \n; + } + strfile_buf = NULL; + } + //file_string.erase(file_string.end()-1); + Debug(reggie_suffix,file_string is %s ,file_string.c_str()); + ats_free(file_buf); + file_buf = (char*) ats_malloc(file_string.size()+1); + if(strcpy(file_buf,file_string.c_str()) == NULL){ + ats_free(file_buf); + return 2; + } + ret = BuildTableFromString(file_buf); + ats_free(file_buf); + return ret; + } + /*end by reggie */ ret = BuildTableFromString(file_buf); ats_free(file_buf); {code} -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Updated] (TS-2008) Cache control with multiple suffixes
[ https://issues.apache.org/jira/browse/TS-2008?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] bettydramit updated TS-2008: Attachment: (was: ControlMatcher.patch) Cache control with multiple suffixes Key: TS-2008 URL: https://issues.apache.org/jira/browse/TS-2008 Project: Traffic Server Issue Type: New Feature Components: Cache, HTTP Affects Versions: 3.3.4 Reporter: bettydramit Assignee: James Peach Fix For: 3.5.1 Attachments: ts-2008-v3.patch if you want to control on ver many suffix in cache.config: jpeg js ... you need to specify: dest_domain=www.test.com suffix=jpeg ttl-in-cache=1m dest_domain=www.test.com suffix=js ttl-in-cache=1m ... and we can change to : dest_domain=www.test.com suffix=jpeg,js,css,html ttl-in-cache=1m by this patch: {code} diff -Nur ts-3.3.1/proxy/ControlMatcher.cc ts-3.3.1-new/proxy/ControlMatcher.cc --- ts-3.3.1/proxy/ControlMatcher.cc2013-03-10 03:44:28.0 +0800 +++ ts-3.3.1-new/proxy/ControlMatcher.cc2013-07-08 22:42:31.568980245 +0800 @@ -44,7 +44,7 @@ #include P_Cache.h #include P_SplitDNS.h #include congest/Congestion.h - +#include string / * Place all template instantiations at the bottom of the file / @@ -815,6 +815,63 @@ if (file_buf == NULL) { return 1; } + /* add by reggie */ + if(strcmp([CacheControl],matcher_name) == 0){ + Debug(reggie-suffix,file_string is begin ); + char *strbuffern = NULL; + char *strfile_buf = file_buf, *tmpvalue = NULL; + char *cp_line[64]; + int in = 0; + char buffer1[128] = {0}; + char *outer_ptr=NULL; + std::string file_string; + while((strbuffern = strtok_r(strfile_buf,\n,outer_ptr)) != NULL){ + Debug(reggie-suffix,strbuffern is %s,strbuffern); + if(*strbuffern == '#'){ + Debug(reggie-suffix,# is %s ,strbuffern); + strfile_buf = NULL; + continue; + } + if((strchr(strbuffern,',')) != NULL){ + in = 0; + while((cp_line[in]=strtok(strbuffern, ))!=NULL) { + strbuffern = NULL; + in++; + } + if((strchr(cp_line[1],'=') != NULL) (strstr(cp_line[1],suffix))){ + if((cp_line[in] = strtok(cp_line[1],=)) != NULL) + tmpvalue = strtok(NULL,=); + while((cp_line[in] = strtok(tmpvalue,,)) != NULL){ + in++; + tmpvalue = NULL; + } + } + for(int nk = 3; nk in ;nk++){ + //nbuf_len = strlen(cp_line[0]) + strlen(cp_line[2]) +strlen(cp_line[nk]) + 9; + //snprintf(buffer1,nbuf_len,%s suffix=%s %s\n,cp_line[0],cp_line[nk],cp_line[2]); + sprintf(buffer1,%s suffix=%s %s\n,cp_line[0],cp_line[nk],cp_line[2]); + file_string.append(buffer1); + } + } + else{ + file_string.append(strbuffern); + file_string += \n; + } + strfile_buf = NULL; + } + //file_string.erase(file_string.end()-1); + Debug(reggie_suffix,file_string is %s ,file_string.c_str()); + ats_free(file_buf); + file_buf = (char*) ats_malloc(file_string.size()+1); + if(strcpy(file_buf,file_string.c_str()) == NULL){ + ats_free(file_buf); + return 2; + } + ret = BuildTableFromString(file_buf); + ats_free(file_buf); + return ret; + } + /*end by reggie */ ret = BuildTableFromString(file_buf); ats_free(file_buf); {code} -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Updated] (TS-2008) Cache control with multiple suffixes
[ https://issues.apache.org/jira/browse/TS-2008?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] bettydramit updated TS-2008: Attachment: ts-2008-v3.patch third version Cache control with multiple suffixes Key: TS-2008 URL: https://issues.apache.org/jira/browse/TS-2008 Project: Traffic Server Issue Type: New Feature Components: Cache, HTTP Affects Versions: 3.3.4 Reporter: bettydramit Assignee: James Peach Fix For: 3.5.0 Attachments: ControlMatcher.patch, ts-2008.patch, ts-2008-v3.patch if you want to control on ver many suffix in cache.config: jpeg js ... you need to specify: dest_domain=www.test.com suffix=jpeg ttl-in-cache=1m dest_domain=www.test.com suffix=js ttl-in-cache=1m ... and we can change to : dest_domain=www.test.com suffix=jpeg,js,css,html ttl-in-cache=1m by this patch: {code} diff -Nur ts-3.3.1/proxy/ControlMatcher.cc ts-3.3.1-new/proxy/ControlMatcher.cc --- ts-3.3.1/proxy/ControlMatcher.cc2013-03-10 03:44:28.0 +0800 +++ ts-3.3.1-new/proxy/ControlMatcher.cc2013-07-08 22:42:31.568980245 +0800 @@ -44,7 +44,7 @@ #include P_Cache.h #include P_SplitDNS.h #include congest/Congestion.h - +#include string / * Place all template instantiations at the bottom of the file / @@ -815,6 +815,63 @@ if (file_buf == NULL) { return 1; } + /* add by reggie */ + if(strcmp([CacheControl],matcher_name) == 0){ + Debug(reggie-suffix,file_string is begin ); + char *strbuffern = NULL; + char *strfile_buf = file_buf, *tmpvalue = NULL; + char *cp_line[64]; + int in = 0; + char buffer1[128] = {0}; + char *outer_ptr=NULL; + std::string file_string; + while((strbuffern = strtok_r(strfile_buf,\n,outer_ptr)) != NULL){ + Debug(reggie-suffix,strbuffern is %s,strbuffern); + if(*strbuffern == '#'){ + Debug(reggie-suffix,# is %s ,strbuffern); + strfile_buf = NULL; + continue; + } + if((strchr(strbuffern,',')) != NULL){ + in = 0; + while((cp_line[in]=strtok(strbuffern, ))!=NULL) { + strbuffern = NULL; + in++; + } + if((strchr(cp_line[1],'=') != NULL) (strstr(cp_line[1],suffix))){ + if((cp_line[in] = strtok(cp_line[1],=)) != NULL) + tmpvalue = strtok(NULL,=); + while((cp_line[in] = strtok(tmpvalue,,)) != NULL){ + in++; + tmpvalue = NULL; + } + } + for(int nk = 3; nk in ;nk++){ + //nbuf_len = strlen(cp_line[0]) + strlen(cp_line[2]) +strlen(cp_line[nk]) + 9; + //snprintf(buffer1,nbuf_len,%s suffix=%s %s\n,cp_line[0],cp_line[nk],cp_line[2]); + sprintf(buffer1,%s suffix=%s %s\n,cp_line[0],cp_line[nk],cp_line[2]); + file_string.append(buffer1); + } + } + else{ + file_string.append(strbuffern); + file_string += \n; + } + strfile_buf = NULL; + } + //file_string.erase(file_string.end()-1); + Debug(reggie_suffix,file_string is %s ,file_string.c_str()); + ats_free(file_buf); + file_buf = (char*) ats_malloc(file_string.size()+1); + if(strcpy(file_buf,file_string.c_str()) == NULL){ + ats_free(file_buf); + return 2; + } + ret = BuildTableFromString(file_buf); + ats_free(file_buf); + return ret; + } + /*end by reggie */ ret = BuildTableFromString(file_buf); ats_free(file_buf); {code} -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Updated] (TS-2008) Cache control with multiple suffixes
[ https://issues.apache.org/jira/browse/TS-2008?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] bettydramit updated TS-2008: Attachment: ts-2008.patch Cache control with multiple suffixes Key: TS-2008 URL: https://issues.apache.org/jira/browse/TS-2008 Project: Traffic Server Issue Type: New Feature Components: Cache, HTTP Affects Versions: 3.3.4 Reporter: bettydramit Assignee: James Peach Fix For: 3.5.0 Attachments: ControlMatcher.patch, ts-2008.patch if you want to control on ver many suffix in cache.config: jpeg js ... you need to specify: dest_domain=www.test.com suffix=jpeg ttl-in-cache=1m dest_domain=www.test.com suffix=js ttl-in-cache=1m ... and we can change to : dest_domain=www.test.com suffix=jpeg,js,css,html ttl-in-cache=1m by this patch: {code} diff -Nur ts-3.3.1/proxy/ControlMatcher.cc ts-3.3.1-new/proxy/ControlMatcher.cc --- ts-3.3.1/proxy/ControlMatcher.cc2013-03-10 03:44:28.0 +0800 +++ ts-3.3.1-new/proxy/ControlMatcher.cc2013-07-08 22:42:31.568980245 +0800 @@ -44,7 +44,7 @@ #include P_Cache.h #include P_SplitDNS.h #include congest/Congestion.h - +#include string / * Place all template instantiations at the bottom of the file / @@ -815,6 +815,63 @@ if (file_buf == NULL) { return 1; } + /* add by reggie */ + if(strcmp([CacheControl],matcher_name) == 0){ + Debug(reggie-suffix,file_string is begin ); + char *strbuffern = NULL; + char *strfile_buf = file_buf, *tmpvalue = NULL; + char *cp_line[64]; + int in = 0; + char buffer1[128] = {0}; + char *outer_ptr=NULL; + std::string file_string; + while((strbuffern = strtok_r(strfile_buf,\n,outer_ptr)) != NULL){ + Debug(reggie-suffix,strbuffern is %s,strbuffern); + if(*strbuffern == '#'){ + Debug(reggie-suffix,# is %s ,strbuffern); + strfile_buf = NULL; + continue; + } + if((strchr(strbuffern,',')) != NULL){ + in = 0; + while((cp_line[in]=strtok(strbuffern, ))!=NULL) { + strbuffern = NULL; + in++; + } + if((strchr(cp_line[1],'=') != NULL) (strstr(cp_line[1],suffix))){ + if((cp_line[in] = strtok(cp_line[1],=)) != NULL) + tmpvalue = strtok(NULL,=); + while((cp_line[in] = strtok(tmpvalue,,)) != NULL){ + in++; + tmpvalue = NULL; + } + } + for(int nk = 3; nk in ;nk++){ + //nbuf_len = strlen(cp_line[0]) + strlen(cp_line[2]) +strlen(cp_line[nk]) + 9; + //snprintf(buffer1,nbuf_len,%s suffix=%s %s\n,cp_line[0],cp_line[nk],cp_line[2]); + sprintf(buffer1,%s suffix=%s %s\n,cp_line[0],cp_line[nk],cp_line[2]); + file_string.append(buffer1); + } + } + else{ + file_string.append(strbuffern); + file_string += \n; + } + strfile_buf = NULL; + } + //file_string.erase(file_string.end()-1); + Debug(reggie_suffix,file_string is %s ,file_string.c_str()); + ats_free(file_buf); + file_buf = (char*) ats_malloc(file_string.size()+1); + if(strcpy(file_buf,file_string.c_str()) == NULL){ + ats_free(file_buf); + return 2; + } + ret = BuildTableFromString(file_buf); + ats_free(file_buf); + return ret; + } + /*end by reggie */ ret = BuildTableFromString(file_buf); ats_free(file_buf); {code} -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Updated] (TS-2008) Cache control with multiple suffixes
[ https://issues.apache.org/jira/browse/TS-2008?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] James Peach updated TS-2008: Summary: Cache control with multiple suffixes (was: Cache control with muti suffix ) Cache control with multiple suffixes Key: TS-2008 URL: https://issues.apache.org/jira/browse/TS-2008 Project: Traffic Server Issue Type: New Feature Components: Cache, HTTP Affects Versions: 3.3.4 Reporter: bettydramit Assignee: James Peach Fix For: 3.3.6 Attachments: ControlMatcher.patch if you want to control on ver many suffix in cache.config: jpeg js ... you need to specify: dest_domain=www.test.com suffix=jpeg ttl-in-cache=1m dest_domain=www.test.com suffix=js ttl-in-cache=1m ... and we can change to : dest_domain=www.test.com suffix=jpeg,js,css,html ttl-in-cache=1m by this patch: {code} diff -Nur ts-3.3.1/proxy/ControlMatcher.cc ts-3.3.1-new/proxy/ControlMatcher.cc --- ts-3.3.1/proxy/ControlMatcher.cc2013-03-10 03:44:28.0 +0800 +++ ts-3.3.1-new/proxy/ControlMatcher.cc2013-07-08 22:42:31.568980245 +0800 @@ -44,7 +44,7 @@ #include P_Cache.h #include P_SplitDNS.h #include congest/Congestion.h - +#include string / * Place all template instantiations at the bottom of the file / @@ -815,6 +815,63 @@ if (file_buf == NULL) { return 1; } + /* add by reggie */ + if(strcmp([CacheControl],matcher_name) == 0){ + Debug(reggie-suffix,file_string is begin ); + char *strbuffern = NULL; + char *strfile_buf = file_buf, *tmpvalue = NULL; + char *cp_line[64]; + int in = 0; + char buffer1[128] = {0}; + char *outer_ptr=NULL; + std::string file_string; + while((strbuffern = strtok_r(strfile_buf,\n,outer_ptr)) != NULL){ + Debug(reggie-suffix,strbuffern is %s,strbuffern); + if(*strbuffern == '#'){ + Debug(reggie-suffix,# is %s ,strbuffern); + strfile_buf = NULL; + continue; + } + if((strchr(strbuffern,',')) != NULL){ + in = 0; + while((cp_line[in]=strtok(strbuffern, ))!=NULL) { + strbuffern = NULL; + in++; + } + if((strchr(cp_line[1],'=') != NULL) (strstr(cp_line[1],suffix))){ + if((cp_line[in] = strtok(cp_line[1],=)) != NULL) + tmpvalue = strtok(NULL,=); + while((cp_line[in] = strtok(tmpvalue,,)) != NULL){ + in++; + tmpvalue = NULL; + } + } + for(int nk = 3; nk in ;nk++){ + //nbuf_len = strlen(cp_line[0]) + strlen(cp_line[2]) +strlen(cp_line[nk]) + 9; + //snprintf(buffer1,nbuf_len,%s suffix=%s %s\n,cp_line[0],cp_line[nk],cp_line[2]); + sprintf(buffer1,%s suffix=%s %s\n,cp_line[0],cp_line[nk],cp_line[2]); + file_string.append(buffer1); + } + } + else{ + file_string.append(strbuffern); + file_string += \n; + } + strfile_buf = NULL; + } + //file_string.erase(file_string.end()-1); + Debug(reggie_suffix,file_string is %s ,file_string.c_str()); + ats_free(file_buf); + file_buf = (char*) ats_malloc(file_string.size()+1); + if(strcpy(file_buf,file_string.c_str()) == NULL){ + ats_free(file_buf); + return 2; + } + ret = BuildTableFromString(file_buf); + ats_free(file_buf); + return ret; + } + /*end by reggie */ ret = BuildTableFromString(file_buf); ats_free(file_buf); {code} -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira