Git-Url: 
http://git.frugalware.org/gitweb/gitweb.cgi?p=yaxmenu.git;a=commitdiff;h=4d7d78267f82583cfc7ac782289c60a877b30911

commit 4d7d78267f82583cfc7ac782289c60a877b30911
Author: James Buren <r...@frugalware.org>
Date:   Thu Dec 3 13:47:00 2009 -0600

autostring.h
* rewrite to use non-inline functions

diff --git a/src/autostring.h b/src/autostring.h
index bf8db23..02bd6f4 100644
--- a/src/autostring.h
+++ b/src/autostring.h
@@ -1,55 +1,13 @@
#ifndef _autostring_header_
#define _autostring_header_
#include "includes.h"
-#include "utility.h"

-#define AS_INITIAL_LENGTH 64U
+typedef struct _as as_t;

-typedef struct {
-  char *str;
-  size_t cl;
-  size_t ml;
-} as_t;
-
-static inline void as_init(as_t *as) {
-  assert(as);
-
-  as->str = xnew(char,as->ml = AS_INITIAL_LENGTH);
-
-  as->cl = 0;
-}
-
-static inline void as_putc(as_t *as,char ch) {
-  assert(as);
-
-  if(as->cl == as->ml)
-    as->str = xrenew(as->str,char,as->ml *= 2);
-
-  as->str[as->cl++] = ch;
-}
-
-static inline void as_puts(as_t *as,const char *str) {
-  assert(as && str);
-
-  while(*str)
-    as_putc(as,*str++);
-}
-
-static inline void as_reset(as_t *as) {
-  assert(as);
-
-  as->cl = 0;
-}
-
-static inline void as_compact(as_t *as) {
-  assert(as);
-
-  as->str = xrenew(as->str,char,as->ml = as->cl);
-}
-
-static inline void as_free(as_t *as) {
-  assert(as);
-
-  free(as->str);
-}
+as_t *as_new(void);
+void as_puts(as_t *,size_t,...);
+void as_reset(as_t *);
+void as_compact(as_t *);
+char *as_gets(as_t *);
+void as_free(as_t *,bool);
#endif
_______________________________________________
Frugalware-git mailing list
Frugalware-git@frugalware.org
http://frugalware.org/mailman/listinfo/frugalware-git

Reply via email to