Skip to content
Snippets Groups Projects
Commit 4d1ed1d0 authored by Fredrik Hübinette (Hubbe)'s avatar Fredrik Hübinette (Hubbe)
Browse files

new function: make_shared_string2() makes a shared string from a

string of wide chars...

Rev: src/stralloc.c:1.38
Rev: src/stralloc.h:1.17
parent 569d5ec5
No related branches found
No related tags found
No related merge requests found
...@@ -15,7 +15,7 @@ ...@@ -15,7 +15,7 @@
#include <ctype.h> #include <ctype.h>
RCSID("$Id: stralloc.c,v 1.37 1998/05/25 19:38:31 grubba Exp $"); RCSID("$Id: stralloc.c,v 1.38 1998/09/18 21:33:07 hubbe Exp $");
#define BEGIN_HASH_SIZE 997 #define BEGIN_HASH_SIZE 997
#define MAX_AVG_LINK_LENGTH 3 #define MAX_AVG_LINK_LENGTH 3
...@@ -263,6 +263,16 @@ struct pike_string *debug_make_shared_string(const char *str) ...@@ -263,6 +263,16 @@ struct pike_string *debug_make_shared_string(const char *str)
return make_shared_binary_string(str, strlen(str)); return make_shared_binary_string(str, strlen(str));
} }
struct pike_string *make_shared_string2(const INT16 *str)
{
INT32 e,len;
struct pike_string *s;
for(len=0;str[len];len++);
s=begin_shared_string(len);
for(e=0;e<len;e++) s->str[e]=str[e];
return end_shared_string(s);
}
/*** Free strings ***/ /*** Free strings ***/
void unlink_pike_string(struct pike_string *s) void unlink_pike_string(struct pike_string *s)
......
...@@ -5,7 +5,7 @@ ...@@ -5,7 +5,7 @@
\*/ \*/
/* /*
* $Id: stralloc.h,v 1.16 1998/05/25 10:38:46 hubbe Exp $ * $Id: stralloc.h,v 1.17 1998/09/18 21:33:07 hubbe Exp $
*/ */
#ifndef STRALLOC_H #ifndef STRALLOC_H
#define STRALLOC_H #define STRALLOC_H
...@@ -81,6 +81,7 @@ struct pike_string *debug_begin_shared_string(int len); ...@@ -81,6 +81,7 @@ struct pike_string *debug_begin_shared_string(int len);
struct pike_string *end_shared_string(struct pike_string *s); struct pike_string *end_shared_string(struct pike_string *s);
struct pike_string * debug_make_shared_binary_string(const char *str,int len); struct pike_string * debug_make_shared_binary_string(const char *str,int len);
struct pike_string *debug_make_shared_string(const char *str); struct pike_string *debug_make_shared_string(const char *str);
struct pike_string *make_shared_string2(const INT16 *str);
void unlink_pike_string(struct pike_string *s); void unlink_pike_string(struct pike_string *s);
void really_free_string(struct pike_string *s); void really_free_string(struct pike_string *s);
void debug_free_string(struct pike_string *s); void debug_free_string(struct pike_string *s);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment