Platon Technologies
not logged in Login Registration
EnglishSlovak
open source software development celebrating 10 years of open source development! Friday, October 16, 2026

Diff for libcfg+/src/platon/str/strdyn.c between version 1.14 and 1.15

version 1.14, 2001/12/20 19:50:38 version 1.15, 2002/02/25 18:46:00
Line 6 
Line 6 
 #include "strplus.h"  #include "strplus.h"
 #include "strdyn.h"  #include "strdyn.h"
   
 void strdyn_free(char **ar)          void
   strdyn_free(ar)
           char **ar;
 {  {
         register int i;          register int i;
   
Line 16  void strdyn_free(char **ar)
Line 18  void strdyn_free(char **ar)
         free(ar);          free(ar);
 }  }
   
 void strdyn_safe_free(char **ar)          void
   strdyn_safe_free(ar)
           char **ar;
 {  {
         if (ar == NULL)          if (ar == NULL)
                 return;                  return;
Line 26  void strdyn_safe_free(char **ar)
Line 30  void strdyn_safe_free(char **ar)
         return;          return;
 }  }
   
 int strdyn_get_size(char **ar)          int
   strdyn_get_size(ar)
           char **ar;
 {  {
         register int i;          register int i;
   
Line 36  int strdyn_get_size(char **ar)
Line 42  int strdyn_get_size(char **ar)
         return i;          return i;
 }  }
   
 char **strdyn_create(void)          char **
   strdyn_create(void)
 {  {
         register char **ar;          register char **ar;
   
Line 48  char **strdyn_create(void)
Line 55  char **strdyn_create(void)
         return ar;          return ar;
 }  }
   
 char **strdyn_create_va(char *s1, ...)          char **
   strdyn_create_va(
           char *s1,
           ...)
 {  {
         register char **ar;          register char **ar;
   
Line 74  char **strdyn_create_va(char *s1, ...)
Line 84  char **strdyn_create_va(char *s1, ...)
         return ar;          return ar;
 }  }
   
 char **strdyn_create_ar(char **ar)          char **
   strdyn_create_ar(ar)
           char **ar;
 {  {
         register int i;          register int i;
         register char **new_ar;          register char **new_ar;
Line 91  char **strdyn_create_ar(char **ar)
Line 103  char **strdyn_create_ar(char **ar)
         return new_ar;          return new_ar;
 }  }
   
 char **strdyn_add(char **ar, const char *s)          char **
   strdyn_add(ar, s)
           char       **ar;
           const char *s;
 {  {
         register int count;          register int count;
   
Line 110  char **strdyn_add(char **ar, const char
Line 125  char **strdyn_add(char **ar, const char
         return ar;          return ar;
 }  }
   
 char **strdyn_add_va(char **ar, ...)          char **
   strdyn_add_va(
           char **ar,
           ...)
 {  {
         register char *s;          register char *s;
         va_list ap;          va_list ap;
Line 130  char **strdyn_add_va(char **ar, ...)
Line 148  char **strdyn_add_va(char **ar, ...)
         return ar;          return ar;
 }  }
   
 char **strdyn_add_ar(char **ar, char * const *s_ar)          char **
   strdyn_add_ar(ar, s_ar)
           char         **ar;
           char * const *s_ar;
 {  {
         register int k;          register int k;
   
Line 141  char **strdyn_add_ar(char **ar, char * c
Line 162  char **strdyn_add_ar(char **ar, char * c
         return ar;          return ar;
 }  }
   
 char **strdyn_remove_idx(char **ar, int idx)          char **
   strdyn_remove_idx(ar, idx)
           char **ar;
           int  idx;
 {  {
         register int i;          register int i;
   
Line 159  char **strdyn_remove_idx(char **ar, int
Line 183  char **strdyn_remove_idx(char **ar, int
         return ar;          return ar;
 }  }
   
 char **strdyn_remove_str(char **ar, char *s)          char **
   strdyn_remove_str(ar, s)
           char **ar;
           char *s;
 {  {
         register int idx;          register int idx;
   
Line 171  char **strdyn_remove_str(char **ar, char
Line 198  char **strdyn_remove_str(char **ar, char
         return strdyn_remove_idx(ar, idx);          return strdyn_remove_idx(ar, idx);
 }  }
   
 char **strdyn_remove_str_all(char **ar, char *s)          char **
   strdyn_remove_str_all(ar, s)
           char **ar;
           char *s;
 {  {
         char **new_ar = NULL;          char **new_ar = NULL;
   
Line 186  char **strdyn_remove_str_all(char **ar,
Line 216  char **strdyn_remove_str_all(char **ar,
         return ar;          return ar;
 }  }
   
 char **strdyn_remove_empty(char **ar)          char **
   strdyn_remove_empty(ar)
           char **ar;
 {  {
         register int i, j;          register int i, j;
   
Line 208  char **strdyn_remove_empty(char **ar)
Line 240  char **strdyn_remove_empty(char **ar)
         return ar;          return ar;
 }  }
   
 char **strdyn_explode_chr(char *str, char sep)          char **
   strdyn_explode_chr(str, sep)
           char *str;
           char sep;
 {  {
         char sep_str[2];          char sep_str[2];
   
Line 218  char **strdyn_explode_chr(char *str, cha
Line 253  char **strdyn_explode_chr(char *str, cha
         return strdyn_explode_str(str, sep_str);          return strdyn_explode_str(str, sep_str);
 }  }
   
 char **strdyn_explode2_chr(char *str, char sep)          char **
   strdyn_explode2_chr(str, sep)
           char *str;
           char sep;
 {  {
   
         return strdyn_remove_empty(strdyn_explode_chr(str, sep));          return strdyn_remove_empty(strdyn_explode_chr(str, sep));
 }  }
   
 char **strdyn_explode_str(char *str, char *sep)          char **
   strdyn_explode_str(str, sep)
           char *str;
           char *sep;
 {  {
         register char **ar;          register char **ar;
         register char *s;          register char *s;
Line 260  char **strdyn_explode_str(char *str, cha
Line 301  char **strdyn_explode_str(char *str, cha
   
 }  }
   
 char **strdyn_explode2_str(char *str, char *sep)          char **
   strdyn_explode2_str(str, sep)
           char *str;
           char *sep;
 {  {
         return strdyn_remove_empty(strdyn_explode_str(str, sep));          return strdyn_remove_empty(strdyn_explode_str(str, sep));
 }  }
   
 char **strdyn_explode_ar(char *str, char **sep)          char **
   strdyn_explode_ar(str, sep)
           char *str;
           char **sep;
 {  {
         /* WARNING: Unefective recursion used! */          /* WARNING: Unefective recursion used! */
         /* TODO: Various code optimalizations. */          /* TODO: Various code optimalizations. */
Line 309  char **strdyn_explode_ar(char *str, char
Line 356  char **strdyn_explode_ar(char *str, char
         return ar;          return ar;
 }  }
   
 char **strdyn_explode2_ar(char *str, char **sep)          char **
   strdyn_explode2_ar(str, sep)
           char *str;
           char **sep;
 {  {
         return strdyn_remove_empty(strdyn_explode_ar(str, sep));          return strdyn_remove_empty(strdyn_explode_ar(str, sep));
 }  }
   
 char *strdyn_implode_chr(char **ar, char sep)          char *
   strdyn_implode_chr(ar, sep)
           char **ar;
           char sep;
 {  {
         char sep_str[2];          char sep_str[2];
   
Line 324  char *strdyn_implode_chr(char **ar, char
Line 377  char *strdyn_implode_chr(char **ar, char
         return strdyn_implode_str(ar, sep_str);          return strdyn_implode_str(ar, sep_str);
 }  }
   
 char *strdyn_implode2_chr(char **ar, char sep)          char *
   strdyn_implode2_chr(ar, sep)
           char **ar;
           char sep;
 {  {
         register char **new_ar;          register char **new_ar;
         register char *s;          register char *s;
Line 338  char *strdyn_implode2_chr(char **ar, cha
Line 394  char *strdyn_implode2_chr(char **ar, cha
         return s;          return s;
 }  }
   
 char *strdyn_implode_str(char **ar, char *sep)          char *
   strdyn_implode_str(ar, sep)
           char **ar;
           char *sep;
 {  {
         register int i, str_size, sep_size;          register int i, str_size, sep_size;
         register char *str, *s;          register char *str, *s;
Line 365  char *strdyn_implode_str(char **ar, char
Line 424  char *strdyn_implode_str(char **ar, char
         return str;          return str;
 }  }
   
 char *strdyn_implode2_str(char **ar, char *str)          char *
   strdyn_implode2_str(ar, str)
           char **ar;
           char *str;
 {  {
         register char **new_ar;          register char **new_ar;
         register char *s;          register char *s;
Line 379  char *strdyn_implode2_str(char **ar, cha
Line 441  char *strdyn_implode2_str(char **ar, cha
         return s;          return s;
 }  }
   
 char **strdyn_conjunct(char **ar1, char **ar2)          char **
   strdyn_conjunct(ar1, ar2)
           char **ar1;
           char **ar2;
 {  {
         register int i;          register int i;
         register char **ar;          register char **ar;
Line 397  char **strdyn_conjunct(char **ar1, char
Line 462  char **strdyn_conjunct(char **ar1, char
         return ar;          return ar;
 }  }
   
 char **strdyn_consolide(char **ar1, char **ar2)          char **
   strdyn_consolide(ar1, ar2)
           char **ar1;
           char **ar2;
 {  {
         register int i;          register int i;
         register char **ar;          register char **ar;
Line 422  char **strdyn_consolide(char **ar1, char
Line 490  char **strdyn_consolide(char **ar1, char
         return ar;          return ar;
 }  }
   
 int strdyn_search(char **ar, char *s)          int
   strdyn_search(ar, s)
           char **ar;
           char *s;
 {  {
         register int i;          register int i;
   
Line 433  int strdyn_search(char **ar, char *s)
Line 504  int strdyn_search(char **ar, char *s)
         return -1;          return -1;
 }  }
   
 int strdyn_casesearch(char **ar, char *s)          int
   strdyn_casesearch(ar, s)
           char **ar;
           char *s;
 {  {
         register int i;          register int i;
   
Line 444  int strdyn_casesearch(char **ar, char *s
Line 518  int strdyn_casesearch(char **ar, char *s
         return -1;          return -1;
 }  }
   
 int strdyn_compare(char **ar, char *s)          int
   strdyn_compare(ar, s)
           char **ar;
           char *s;
 {  {
         return strdyn_search(ar, s) < 0 ? -1 : 0;          return strdyn_search(ar, s) < 0 ? -1 : 0;
 }  }
   
 int strdyn_casecompare(char **ar, char *s)          int
   strdyn_casecompare(ar, s)
           char **ar;
           char *s;
 {  {
         return strdyn_casesearch(ar, s) < 0 ? -1 : 0;          return strdyn_casesearch(ar, s) < 0 ? -1 : 0;
 }  }
   
 int strdyn_compare_all(char **ar, char *s)          int
   strdyn_compare_all(ar, s)
           char **ar;
           char *s;
 {  {
         register int i;          register int i;
   
Line 465  int strdyn_compare_all(char **ar, char *
Line 548  int strdyn_compare_all(char **ar, char *
         return 0;          return 0;
 }  }
   
 char *strdyn_str2(char *s, char **ar, int *idx)          char *
   strdyn_str2(s, ar, idx)
           char *s;
           char **ar;
           int  *idx;
 {  {
         register char *ret, *tmp_s;          register char *ret, *tmp_s;
         register int i;          register int i;
Line 488  char *strdyn_str2(char *s, char **ar, in
Line 575  char *strdyn_str2(char *s, char **ar, in
 #define TESTSEP1 '_'  #define TESTSEP1 '_'
 #define TESTSEP2 "__"  #define TESTSEP2 "__"
   
 int main(void)          int
   main(void)
 {  {
   
         register int i;          register int i;

Legend:
Removed from v.1.14  
changed lines
  Added in v.1.15

Platon Group <platon@platon.org> http://platon.org/
Copyright © 2002-2006 Platon Group
Site powered by Metafox CMS
Go to Top