[syslinux:master] string: Adding strreplace
syslinux-bot for Erwan Velu
erwanaliasr1 at gmail.com
Thu Dec 22 13:18:08 PST 2011
Commit-ID: ac5635b0b21224d83a3f9f5577c09db598f04142
Gitweb: http://www.syslinux.org/commit/ac5635b0b21224d83a3f9f5577c09db598f04142
Author: Erwan Velu <erwanaliasr1 at gmail.com>
AuthorDate: Wed, 27 Apr 2011 22:14:06 +0200
Committer: Erwan Velu <erwanaliasr1 at gmail.com>
CommitDate: Wed, 27 Apr 2011 22:14:06 +0200
string: Adding strreplace
---
com32/include/string.h | 1 +
com32/lib/Makefile | 1 +
com32/{hdt/hdt-dump-cpu.c => lib/strreplace.c} | 48 ++++++++++++------------
3 files changed, 26 insertions(+), 24 deletions(-)
diff --git a/com32/include/string.h b/com32/include/string.h
index af9792b..014b8de 100644
--- a/com32/include/string.h
+++ b/com32/include/string.h
@@ -42,5 +42,6 @@ __extern char *strsep(char **, const char *);
__extern size_t strspn(const char *, const char *);
__extern char *strstr(const char *, const char *);
__extern char *strtok(char *, const char *);
+__extern char *strreplace( const char *string, const char *string_to_replace, const char *string_to_insert );
#endif /* _STRING_H */
diff --git a/com32/lib/Makefile b/com32/lib/Makefile
index 105c2bd..3f67e42 100644
--- a/com32/lib/Makefile
+++ b/com32/lib/Makefile
@@ -32,6 +32,7 @@ LIBOBJS = \
chrreplace.o \
bufprintf.o \
inet.o \
+ strreplace.o \
\
lmalloc.o lstrdup.o \
\
diff --git a/com32/hdt/hdt-dump-cpu.c b/com32/lib/strreplace.c
similarity index 61%
copy from com32/hdt/hdt-dump-cpu.c
copy to com32/lib/strreplace.c
index 33d561c..f97a03e 100644
--- a/com32/hdt/hdt-dump-cpu.c
+++ b/com32/lib/strreplace.c
@@ -26,28 +26,28 @@
* -----------------------------------------------------------------------
*/
-#include "hdt-common.h"
-#include "hdt-dump.h"
-
-void dump_cpu(struct s_hardware *hardware, ZZJSON_CONFIG *config, ZZJSON **item) {
-
- CREATE_NEW_OBJECT;
- add_hs(cpu.vendor);
- add_hs(cpu.model);
- add_hi(cpu.vendor_id);
- add_hi(cpu.family);
- add_hi(cpu.model_id);
- add_hi(cpu.stepping);
- add_hi(cpu.num_cores);
- add_hi(cpu.l1_data_cache_size);
- add_hi(cpu.l1_instruction_cache_size);
- add_hi(cpu.l2_cache_size);
- size_t i;
- for (i = 0; i < cpu_flags_count; i++) {
- char temp[128]={0};
- snprintf(temp,sizeof(temp),"cpu.flags.%s",cpu_flags_names[i]);
- add_b(temp,get_cpu_flag_value_from_name(&hardware->cpu,cpu_flags_names[i]));
- }
- FLUSH_OBJECT;
- to_cpio("cpu");
+#include <string.h>
+
+char *strreplace( const char *string, const char *string_to_replace, const char *string_to_insert ){
+ char *token = NULL;
+ char *output_buffer = NULL;
+
+ token = strstr(string, string_to_replace);
+
+ if(token == NULL)
+ return strdup( string );
+
+ output_buffer = malloc(strlen( string )-strlen( string_to_replace )+strlen(string_to_insert )+ 1);
+
+ if(output_buffer == NULL)
+ return NULL;
+
+ memcpy(output_buffer, string, token-string);
+ memcpy(output_buffer + (token - string), string_to_insert, strlen(string_to_insert));
+ memcpy(output_buffer + (token - string) + strlen(string_to_insert),
+ token + strlen(string_to_replace),
+ strlen(string) - strlen(string_to_replace) - (token - string));
+ memset(output_buffer + strlen(string) - strlen(string_to_replace) + strlen(string_to_insert), 0, 1 );
+
+ return output_buffer;
}
More information about the Syslinux-commits
mailing list