+++ /dev/null
--/* Roast+ License
--
--// ### C compilable ###
--
--// Safe\8cn\8aÖ\90\94 (\83o\83b\83t\83@\83I\81[\83o\81[\83\89\83\93\96h\8e~)
--// - \83o\83b\83t\83@\82ð\89z\82¦\82æ\82¤\82Æ\82µ\82½\8fê\8d\87\82Í\81A\94[\82Ü\82è\90Ø\82ç\82È\82©\82Á\82½\95¶\8e\9a\97ñ\82ð\90Ø\82è\8eÌ\82Ä\82Ü\82·\81B
--*/
--#ifndef __SFJP_OPENMGL_roast_bufsafe_H__
--#define __SFJP_OPENMGL_roast_bufsafe_H__
--
--#include <stdio.h>
--#include <string.h>
--#include "roast_common.h"
--#include "roast_str.h"
--
--
--/*////////////////////////////////////////////////////////////////*/
--
--/* \95¶\8e\9a\97ñ\83o\83b\83t\83@\82Ì\8dÅ\8cã\82ð\0\82É\82·\82é\81B */
--#define ROAST_STR_ZTERM(STR,BUFSIZE) STR[BUFSIZE-1] = '\0'
--#define ROAST_STR_ZERO_TERM(STR,BUFSIZE) ROAST_STR_ZTERM(STR,BUFSIZE) /* alias to ROAST_STR_ZTERM */
--
--
--/*////////////////////////////////////////////////////////////////*/
--
--/* strcpy\82Ì\83Z\81[\83t\94Å */
--#define roast_safe_strcpy(dest,src,dest_memsize) \
-- (ROAST_STR_ZTERM(dest,dest_memsize), \
-- strncpy( dest, src, dest_memsize-1 ))
--
--#define roast_safe_strcat(dest,src,dest_memsize) \
-- (ROAST_STR_ZTERM(dest,dest_memsize), \
-- dest_memsize-1 - strlen(dest) >= 0 ? \
-- strncat( dest, src, dest_memsize-1 - strlen(dest) ) : dest)
--
--/*#define roast_safe_strcat(dest,src,dest_memsize) \
-- ROAST_STR_ZTERM(dest,dest_memsize), \
-- int copy_size = dest_memsize-1 - strlen(dest), \
-- if ( copy_size < 0 ) \
-- copy_size = 0, \
-- strncat( dest, src, copy_size )*/
--
--#define roast_safe_strccpy(dest,src,c,dest_memsize) \
-- (ROAST_STR_ZTERM(dest,dest_memsize), \
-- roast_strcncpy( dest, src, c, dest_memsize-1 ))
--
--
--/* Auto Sizeof */
--#define ROAST_SAFE_STRCPY_AS(DEST,SRC) roast_safe_strcpy(DEST,SRC,sizeof(DEST))
--#define ROAST_SAFE_STRCAT_AS(DEST,SRC) roast_safe_strcat(DEST,SRC,sizeof(DEST))
--#define ROAST_SAFE_STRCCPY_AS(DEST,SRC,C) roast_safe_strccpy(DEST,SRC,C,sizeof(DEST))
--
--
--/*////////////////////////////////////////////////////////////////*/
--
--
--/* \88À\91S\82È delete, delete[], Release() */
--#define ROAST_SAFE_DELETE(p) { if ( p != NULL ) { delete p; p=NULL; }}
--#define ROAST_SAFE_DELETE_ARY(p) { if ( p != NULL ) { delete []p; p=NULL; }}
--#define ROAST_SAFE_DELETE_ARRAY(p) { if ( p != NULL ) { delete []p; p=NULL; }}
--#define ROAST_SAFE_FREE(p) { if ( p != NULL ) { free(p); p=NULL; }}
--#define ROAST_SAFE_RELEASE(p) { if ( p != NULL ) { (p)->Release(); (p)=NULL; }}
--
--
--/*#define ROAST_SAFE_NEW(p) { if ( p != NULL ) { delete p; p=NULL; }}*/
--
--
--/*//////////////////////////////////////////////////////////////////////*/
--/*//////////////////////////////////////////////////////////////////////*/
--/*//////////////////////////////////////////////////////////////////////*/
--/*//////////////////////////////////////////////////////////////////////*/
--/*//////////////////////////////////////////////////////////////////////*/
--
--
--
--#ifdef ROAST_WIN32
--
-- /*///////////////////////////////////////////////////////////////////
-- //
-- // VC\82Ì_snprintf\82ÍC99\82Ìsnprintf\82Æ\8b\93\93®\82ª\88á\82¤\82Ì\82Å\81A\82±\82ê\82ð\8f\80\8b\92\82³\82¹\82é
-- //
-- /////////////////////////////////////////////////////////////////////*/
--
-- __ROAST_EXTERN_C_START
--
-- int roast_vc_vsnprintf_conformed_c99(
-- char *str, size_t size, const char *format, va_list ap );
--
-- int roast_vc_snprintf_conformed_c99(
-- char *str, size_t size, const char *format, ... );
--
-- __ROAST_EXTERN_C_END
--
-- #define roast_vsnprintf roast_vc_vsnprintf_conformed_c99
-- #define roast_snprintf roast_vc_snprintf_conformed_c99
--
--#else /* UNIX/Linux */
--
-- #define roast_vsnprintf vsnprintf
-- #define roast_snprintf snprintf
--
--#endif
--
--/*
--
--// snprintf \82ð roast_snprintf \82É\82µ\82¿\82á\82¤
--// \81i\81¦ _ROAST_NOT_SNPRINTF_REPLACES \82ðdefine\82·\82é\8e\96\82É\89ñ\94ð\89Â\94\\81j
--
--#ifndef _ROAST_NOT_SNPRINTF_REPLACES
-- #define vsnprintf roast_vsnprintf
-- #define snprintf roast_snprintf
--#endif//_ROAST_NOT_SNPRINTF_REPLACES
--
--*/
--
--/*////////////////////////////////////////////////////////////////*/
--
--#ifdef _ROAST_REMOVE_MACRO_NS
--
-- #define STR_ZTERM ROAST_STR_ZTERM
-- #define STR_ZERO_TERM ROAST_STR_ZERO_TERM
--
-- #define safe_strcpy roast_safe_strcpy
-- #define safe_strcat roast_safe_strcat
-- #define safe_strccpy roast_safe_strccpy
--
-- #define SAFE_STRCPY_AS ROAST_SAFE_STRCPY_AS
-- #define SAFE_STRCAT_AS ROAST_SAFE_STRCAT_AS
-- #define SAFE_STRCCPY_AS ROAST_SAFE_STRCCPY_AS
--
--/*
-- #define STR_ZTERM(DEST,SRC) ROAST_STR_ZTERM(DEST,SRC)
-- #define STR_ZERO_TERM(DEST,SRC) ROAST_STR_ZERO_TERM(DEST,SRC)
--
-- #define safe_strcpy(DEST,SRC,BUFSIZE) roast_safe_strcpy(DEST,SRC,BUFSIZE)
-- #define safe_strcat(DEST,SRC,BUFSIZE) roast_safe_strcat(DEST,SRC,BUFSIZE)
-- #define safe_strccpy(DEST,SRC,C,BUFSIZE) roast_safe_strccpy(DEST,SRC,C,BUFSIZE)
--
-- #define SAFE_STRCPY_AS(DEST,SRC) ROAST_SAFE_STRCPY_AS(DEST,SRC)
-- #define SAFE_STRCAT_AS(DEST,SRC) ROAST_SAFE_STRCAT_AS(DEST,SRC)
-- #define SAFE_STRCCPY_AS(DEST,SRC,C) ROAST_SAFE_STRCCPY_AS(DEST,SRC,C)
--*/
--
-- #ifndef _ROAST_NOT_SNPRINTF_REPLACES
-- #define vsnprintf roast_vsnprintf
-- #define snprintf roast_snprintf
-- #endif/*_ROAST_NOT_SNPRINTF_REPLACES*/
--
--
--
-- #ifndef SAFE_DELETE
-- #define SAFE_DELETE ROAST_SAFE_DELETE
-- #endif
--
-- #ifndef SAFE_DELETE_ARY
-- #define SAFE_DELETE_ARY ROAST_SAFE_DELETE_ARY
-- #endif
--
-- #ifndef SAFE_DELETE_ARRAY
-- #define SAFE_DELETE_ARRAY ROAST_SAFE_DELETE_ARRAY
-- #endif
--
-- #ifndef SAFE_RELEASE
-- #define SAFE_RELEASE ROAST_SAFE_RELEASE
-- #endif
--
--#endif
--
--/*
--namespace roast{
--}
--*/
--
--#endif/*__SFJP_OPENMGL_roast_bufsafe_H__*/
+++ /dev/null
--/* Roast+ License v0.1
--
--// ### C compilable ###
--*/
--#include <stdio.h>
--#include <string.h>
--#include <stdlib.h>
--#include "roast_str.h"
--#include "roast_bufsafe.h"
--
--__ROAST_EXTERN_C_START
--
--
--/* roast_strccpy */
--char* roast_strccpy( char* to, const char* from, const char c )
--{
-- char *to_pre = to;
--
-- /*for( ; *from != c; from++, to++ )*/
-- for( ; *from != c && *from != '\0'; from++, to++ ) /* \82È\82ñ\82Å\93ü\82Á\82Ä\82È\82¢\82ñ\82¾\82Á\82¯\81H\81i\82¢\82Â\82©\82Íc\82É\82È\82é\82©\82ç\81H */
-- *to = *from;
--
-- *to = '\0';
--
-- return to_pre;
--}
--
--
--
--/* roast_strcncpy */
--/* \8cÃ\82¢\83o\81[\83W\83\87\83\93\81Bstrncpy\82Æ\82©\82Æ\8b\93\93®\82ª\88á\82¤\81B\94p\8e~ */
--char* roast_strcncpy_Old1( char* to, const char* from, const char c, int n )
--{
-- char *to_pre = to;
-- const char* p_to_buflast = to + n - 1;
--
-- for( ; *from != c && *from != '\0' && to != p_to_buflast; from++, to++ )
-- *to = *from;
--
-- /*int i=0;
-- for( ; *from != c && *from != '\0' && i < n; from++, to++, i++ )
-- *to = *from;*/
--
-- *to = '\0';
--
-- return to_pre;
--}
--
--
--/* roast_strcncpy */
--char* roast_strcncpy( char* to, const char* from, const char c, int n )
--{
-- char *to_pre = to;
-- const char* p_to_buflast = to + n;
--
-- for( ; *from != c && *from != '\0' && to < p_to_buflast; from++, to++ )
-- *to = *from;
--
-- if ( *from != c )
-- {
-- for( ; to < p_to_buflast; to++ )
-- *to = '\0';
-- }
--
-- return to_pre;
--}
--
--/* roast_strchrrpc */
--char* roast_strchrrpc( char* buf, char from, char to )
--{
-- char *p = buf;
--
-- for(; *p != '\0' ; p++ )
-- {
-- if ( *p == from )
-- *p = to;
-- }
--
-- return buf;
--}
--
--/*********************************************************************************************************/
--
--
--/* roast_strrpc */
--/*char* roast_strrpc( char* target_str, size_t str_bufsize, const char* keyword_from, const char* keyword_to )
--{
-- return str;
--}*/
--
--
--
--/* \95¶\8e\9a\97ñ\92u\8a·\8aÖ\90\94\81B\93ü\97Í\8fo\97Í\83o\83b\83t\83@\82ª\93¯\82¶\8e\96\82É\82æ\82é\92x\82¢\83o\81[\83W\83\87\83\93\81B\94p\8e~ */
--char* roast_strrpc1( char* buf, unsigned int bufsize, const char* find_str, const char* new_str )
--//char* roast_strrpc( char *str, const char *target_str, const char *new_str, size_t size )
--{
-- const int find_len = strlen(find_str); /* find_str\82Ì\95¶\8e\9a\97ñ\92·\82ð\97\\82ß\8cv\8eZ\82µ\82Ä\82¨\82\81i\89½\89ñ\82à\8eg\82¤\82Ì\82Å\81j*/
-- const int new_len = strlen(new_str); /* new_str\82Ì\95¶\8e\9a\97ñ\92·\82ð\97\\82ß\8cv\8eZ\82µ\82Ä\82¨\82\81i\89½\89ñ\82à\8eg\82¤\82Ì\82Å\81j*/
-- const int diff_len = new_len - find_len; /* find_str\82Ænew_str\82Ì\8d·\95ª\95¶\8e\9a\97ñ\92·\82ð\97\\82ß\8cv\8eZ\82µ\82Ä\82¨\82\81i\89½\89ñ\82à\8eg\82¤\82Ì\82Å\81j*/
--
-- char *p = buf; /* \8c»\8dÝ\88Ê\92u\82ð\8bL\89¯\82·\82é\82½\82ß\82Ì\83|\83C\83\93\83^\81i\95Ï\93®\81j*/
-- int buf_len = strlen(buf); /* \8c»\8dÝ\82Ì\83o\83b\83t\83@\95¶\8e\9a\97ñ\92·\81i\95Ï\93®\81j*/
-- /*int p_len = strlen(buf); * p\82©\82ç\82Ì\95¶\8e\9a\97ñ\92·\81i\95Ï\93®\81j-> \91å\82µ\82Ä\91¬\93x\89ü\91P\82³\82ê\82È\82³\82»\82¤\82¾\82Á\82½\82Ì\82Å\82â\82ß\82½ */
--
-- /*//////////////////////////////////////////////////////////////////////////////////////////////*/
--
--
-- /* \8c\9f\8dõ\83\8b\81[\83v */
-- while( NULL != (p = strstr(p, find_str)) )
-- {
-- /* \92u\8a·\82·\82é\82Ì\82É\8f\\95ª\82È\83\81\83\82\83\8a\82ª\82 \82é\82©\81H */
-- /*if ( strlen(p) + diff_len > bufsize-1 ) */
-- if ( buf_len + diff_len > (int)bufsize-1 ) /* strlen()\82ð\97p\82¢\82È\82¢\8e\96\82É\82æ\82è\82æ\82è\8d\82\91¬\82É\81I\81c\82É\82È\82Á\82½\94¤\81B\81B\81B*/
-- {
-- /* \91«\82è\82È\82¢\82Ì\82Å\92\86\92f\81B\82Æ\8c¾\82¤\8ed\97l\82É\82·\82é\82©\81c\82Æ\82è\82 \82¦\82¸\81c */
-- return NULL;
-- }
--
--
-- /* \92u\8a·\82É\82æ\82è\88È\8d~\82Ì\95¶\8e\9a\97ñ\88Ê\92u\82ª\82¸\82ê\82é\8fê\8d\87(diff_len\82ª0\88È\8aO)\82Í\82¸\82ç\82µ\82Ä\82¨\82 */
-- /* \81i\88ø\90\94\8cv\8eZ\81A\8aÖ\90\94\8cÄ\82Ñ\8fo\82µ\82¾\82¯\82Å\82à\8c\8b\8d\\82È\83I\81[\83o\81[\83w\83b\83h\82É\82È\82é\82Æ\8ev\82¤\82ñ\82Å\81Aif\82Å\88Í\82Á\82½\95û\82ª\8cø\97¦\97Ç\82¢\82Æ\8ev\82¤\82ñ\82¾\82º\81B\81j */
-- if ( diff_len != 0 )
-- memmove( p + new_len, p + find_len, (buf_len-(p-buf)) - find_len + 1 ); /* strlen()\82ð\97p\82¢\82È\82¢\8e\96\82É\82æ\82è\82æ\82è\8d\82\91¬\82É\81I\81c\82É\82È\82Á\82½\94¤\81B\81B\81B*/
-- /*memmove( p + new_len, p + find_len, strlen(p) - find_len + 1 ); */
-- /*memmove( p, p + diff_len, strlen(p) + 1 ); \81ª\82Ì\95û\82ª\97]\95ª\82È\83R\83s\81[\8ds\82í\82È\82¢\82Ì\82Å\8d\82\91¬\82©\81E\81E\81E\81B\82½\82¾\82µ\88ø\90\94\8cv\8eZ\82Ì\83R\83X\83g\82Í\82 \82é\82¯\82Ç\82È\81B*/
--
--
-- /* \95¶\8e\9a\97ñ\82ð\8fã\8f\91\82«\82·\82é */
-- memcpy( p, new_str, new_len );
--
-- /* \83|\83C\83\93\83^\82ðnew_len\95ª\90i\82ß\82é */
-- p += new_len;
--
-- /* buf_len\82à\8dX\90V */
-- buf_len += diff_len;
-- }
--
-- return buf;
--}
--
--
--/************* V2 : Fast Version *****************/
--/* \93ü\97Í\8fo\97Í\83o\83b\83t\83@\82ð\95Ê\81X\82Æ\82·\82é\8e\96\82É\82æ\82è\8d\82\91¬\82É\82È\82è\82Ü\82µ\82½\81B */
--/* \81\96\82±\82Á\82¿\82Í\83o\83b\83t\83@\83T\83C\83Y\82ð\83`\83F\83b\83N\82µ\82È\82¢\83o\81[\83W\83\87\83\93\82Å\82·\81B\83o\83b\83t\83@\83T\83C\83Y\82ð\83`\83F\83b\83N\82·\82é\82Ì\82Í roast_safe_strrpc2() \82Å\82· */
--char* roast_strrpc2( char* outbuf, const char* inbuf, const char* find_str, const char* rpc_str )
--{
-- const unsigned int find_len = strlen(find_str); /* find_str\82Ì\95¶\8e\9a\97ñ\92·\82ð\97\\82ß\8cv\8eZ\82µ\82Ä\82¨\82\81i\89½\89ñ\82à\8eg\82¤\82Ì\82Å\81j*/
-- const unsigned int rpcstr_len = strlen(rpc_str); /* rpc_str\82Ì\95¶\8e\9a\97ñ\92·\82ð\97\\82ß\8cv\8eZ\82µ\82Ä\82¨\82\81i\89½\89ñ\82à\8eg\82¤\82Ì\82Å\81j*/
--
-- const char *p_from = inbuf;
-- const char *p_from_next = NULL;
-- char *p_to = outbuf;
-- unsigned int copy_len = 0; /* \83R\83s\81[\92·\82ð\88ê\8e\9e\93I\82É\95Û\91¶\82·\82é\95Ï\90\94 */
--
-- /*//////////////////////////////////////////////////////////////////////////////////////////////*/
--
--#define __ROAST_STRRPC__STRNCPY(FROM, COPY_LEN) strncpy(p_to, FROM, COPY_LEN);
--/*#define __ROAST_STRRPC__STRNCPY(FROM, LEN) { \
-- if ( (p_to+LEN) > p_to_last ){ \
-- strncpy(p_to, FROM, p_to_last - p_to - 1 ); \
-- *(p_to_last-1) = '\0'; \
-- break; \
-- }else{ \
-- strncpy(p_to, FROM, LEN); \
-- }}*/
--
-- for(;;)
-- {
-- /* \8c\9f\8dõ */
-- p_from_next = strstr(p_from, find_str);
--
--
-- /* \92u\8a·\91Î\8fÛ\82 \82è */
-- if ( p_from_next != NULL )
-- {
-- /* \92u\8a·\82·\82é\95¶\8e\9a\97ñ\82Ì\91O\82Ü\82Å\82ðp_to\82É\83R\83s\81[ */
-- copy_len = p_from_next - p_from;
-- /*strncpy(p_to, p_from, copy_len);*/
-- __ROAST_STRRPC__STRNCPY(p_from, copy_len);
-- p_to += copy_len;
--
-- /* \92u\8a·\8cã\82Ì\95¶\8e\9a\97ñ\82ð\83R\83s\81[ */
-- /*strncpy(p_to, rpc_str, rpcstr_len);*/
-- __ROAST_STRRPC__STRNCPY(rpc_str, rpcstr_len);
-- p_to += rpcstr_len;
--
-- /* p_from\82Ì\83I\83t\83Z\83b\83g\82ðp_from_next\81{find_len\82É */
-- p_from = p_from_next + find_len;
-- }
--
--
-- /* \82à\82¤\82±\82ê\88È\8fã\92u\8a·\91Î\8fÛ\82Í\82È\82¢\82æ */
-- else
-- {
-- /* \8cã\89½\95¶\8e\9a\83R\83s\81[\82·\82ê\82Î\82¢\82¢\82ñ\82¾ */
-- copy_len = strlen(p_from);
--
-- /* \94c\88¬\81B\83R\83s\81[\82·\82é\82æ\81B\81i'\0'\8aÜ\82ß\82Ä\81j */
-- /*strncpy(p_to, p_from, n+1);*/
-- __ROAST_STRRPC__STRNCPY(p_from, copy_len+1);
--
-- /* \8fI\82í\82è\82Á\82·\81B\8fI\97¹\82Á\82·\81B\94²\82¯\82é\82Á\82· */
-- break;
-- }
-- }
--#undef __ROAST_STRRPC__STRNCPY
-- return outbuf;
--}
--
--
--/* safe\83o\81[\83W\83\87\83\93\81i\83o\83b\83t\83@\83T\83C\83Y\82ð\83`\83F\83b\83N\81j */
--char* roast_safe_strrpc2( char* outbuf, unsigned int outbuf_size, const char* inbuf, const char* find_str, const char* rpc_str )
--{
-- const unsigned int find_len = strlen(find_str); /* find_str\82Ì\95¶\8e\9a\97ñ\92·\82ð\97\\82ß\8cv\8eZ\82µ\82Ä\82¨\82\81i\89½\89ñ\82à\8eg\82¤\82Ì\82Å\81j*/
-- const unsigned int rpcstr_len = strlen(rpc_str); /* rpc_str\82Ì\95¶\8e\9a\97ñ\92·\82ð\97\\82ß\8cv\8eZ\82µ\82Ä\82¨\82\81i\89½\89ñ\82à\8eg\82¤\82Ì\82Å\81j*/
--
-- const char *p_from = inbuf;
-- const char *p_from_next = NULL;
-- char *p_to_last = outbuf + outbuf_size;
-- char *p_to = outbuf;
-- unsigned int copy_len = 0; /* \83R\83s\81[\92·\82ð\88ê\8e\9e\93I\82É\95Û\91¶\82·\82é\95Ï\90\94 */
--
-- /*//////////////////////////////////////////////////////////////////////////////////////////////*/
--
--//#define __ROAST_STRRPC__STRNCPY(FROM, COPY_LEN) strncpy(p_to, FROM, COPY_LEN);
--#define __ROAST_STRRPC__STRNCPY(FROM, LEN) { \
-- if ( (p_to+LEN) > p_to_last ){ \
-- strncpy(p_to, FROM, p_to_last - p_to - 1 ); \
-- *(p_to_last-1) = '\0'; \
-- break; \
-- }else{ \
-- strncpy(p_to, FROM, LEN); \
-- }}
--
-- for(;;)
-- {
-- /* \8c\9f\8dõ */
-- p_from_next = strstr(p_from, find_str);
--
--
-- /* \92u\8a·\91Î\8fÛ\82 \82è */
-- if ( p_from_next != NULL )
-- {
-- /* \92u\8a·\82·\82é\95¶\8e\9a\97ñ\82Ì\91O\82Ü\82Å\82ðp_to\82É\83R\83s\81[ */
-- copy_len = p_from_next - p_from;
-- /*strncpy(p_to, p_from, copy_len);*/
-- __ROAST_STRRPC__STRNCPY(p_from, copy_len);
-- p_to += copy_len;
--
-- /* \92u\8a·\8cã\82Ì\95¶\8e\9a\97ñ\82ð\83R\83s\81[ */
-- /*strncpy(p_to, rpc_str, rpcstr_len);*/
-- __ROAST_STRRPC__STRNCPY(rpc_str, rpcstr_len);
-- p_to += rpcstr_len;
--
-- /* p_from\82Ì\83I\83t\83Z\83b\83g\82ðp_from_next\81{find_len\82É */
-- p_from = p_from_next + find_len;
-- }
--
--
-- /* \82à\82¤\82±\82ê\88È\8fã\92u\8a·\91Î\8fÛ\82Í\82È\82¢\82æ */
-- else
-- {
-- /* \8cã\89½\95¶\8e\9a\83R\83s\81[\82·\82ê\82Î\82¢\82¢\82ñ\82¾ */
-- copy_len = strlen(p_from);
--
-- /* \94c\88¬\81B\83R\83s\81[\82·\82é\82æ\81B\81i'\0'\8aÜ\82ß\82Ä\81j */
-- /*strncpy(p_to, p_from, n+1);*/
-- __ROAST_STRRPC__STRNCPY(p_from, copy_len+1);
--
-- /* \8fI\82í\82è\82Á\82·\81B\8fI\97¹\82Á\82·\81B\94²\82¯\82é\82Á\82· */
-- break;
-- }
-- }
--#undef __ROAST_STRRPC__STRNCPY
--
-- return outbuf;
--}
--
--
--/* \95¶\8e\9a\97ñ\92·\82³\82ª\92Z\82\82È\82é\8e\96\82ª\95ª\82©\82é\8fê\8d\87\82Ì\82Ý\8eg\82Á\82Ä\89º\82³\82¢\81B */
--/* Result string to short only usable. */
--char* roast_strrpc_toshort( char* iobuf, const char* find_str, const char* rpc_str )
--{
-- const char* inbuf = iobuf;
-- char* outbuf = (char*)malloc( strlen(iobuf)+1 );
-- roast_strrpc( outbuf, inbuf, find_str, rpc_str );
-- strcpy( iobuf, outbuf );
-- free(outbuf);
-- return iobuf;
--}
--
--
--/* \93ü\8fo\97Í\83o\83b\83t\83@\8b¤\92Ê\83o\81[\83W\83\87\83\93\81B\8eÀ\8dÛ\82É\82Í\88ê\8e\9e\83o\83b\83t\83@\82ð\8dì\82Á\82Ä\82â\82Á\82Ä\82é\81B */
--/* I/O Buffer shared version. */
--char* roast_safe_strrpc_bufshare( char* iobuf, unsigned int buf_size, const char* find_str, const char* rpc_str )
--{
-- const char* inbuf = iobuf;
-- char* outbuf = (char*)malloc( buf_size );
-- roast_safe_strrpc( outbuf, buf_size, inbuf, find_str, rpc_str );
-- strcpy( iobuf, outbuf );
-- free(outbuf);
-- return iobuf;
--}
--
--
--/* roast_strrpc1\82ð\96³\97\9d\82â\82è\8eg\82¤\83o\81[\83W\83\87\83\93
--char* roast_strrpc( char* outbuf, unsigned int outbuf_size, const char* inbuf, const char* find_str, const char* rpc_str )
--{
-- roast_safe_strcpy(outbuf, inbuf, outbuf_size);
--
-- return roast_strrpc1(outbuf, outbuf_size, find_str, rpc_str);
--}
--*/
--
--__ROAST_EXTERN_C_END