File: dstrings.h

package info (click to toggle)
scilab 2.6-4
  • links: PTS
  • area: non-free
  • in suites: woody
  • size: 54,632 kB
  • ctags: 40,267
  • sloc: ansic: 267,851; fortran: 166,549; sh: 10,005; makefile: 4,119; tcl: 1,070; cpp: 233; csh: 143; asm: 135; perl: 130; java: 39
file content (35 lines) | stat: -rw-r--r-- 1,137 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35

/*
 * The structure defined below is used to hold dynamic strings.  The only
 * field that clients should use is the string field, and they should
 * never modify it.
 */
#include <stdlib.h>
#include <string.h>

#define CONST const

#define SCI_DSTRING_STATIC_SIZE 200
typedef struct Sci_DString {
    char *string;		/* Points to beginning of string:  either
				 * staticSpace below or a malloced array. */
    int length;			/* Number of non-NULL characters in the
				 * string. */
    int spaceAvl;		/* Total number of bytes available for the
				 * string and its terminating NULL char. */
    char staticSpace[SCI_DSTRING_STATIC_SIZE];
				/* Space to use in common case where string
				 * is small. */
} Sci_DString;

#define Sci_DStringLength(dsPtr) ((dsPtr)->length)
#define Sci_DStringValue(dsPtr) ((dsPtr)->string)
#define Sci_DStringTrunc Sci_DStringSetLength

void Sci_DStringInit( Sci_DString *dsPtr) ;
char *Sci_DStringAppend(Sci_DString *dsPtr, const char *string,int length);
void Sci_DStringSetLength(  Sci_DString *dsPtr, int length) ;
void Sci_DStringFree( Sci_DString *dsPtr);

#define SCI_OK 1
#define SCI_ERROR 0