X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Fdata%2Fvariable.h;h=0f5bb26dbc1c1d5dc55901f4d4b67691fea7fb89;hb=ea37b218562bd9c02c23d2669c70b2509e0588ea;hp=fa7c0d6df0dff6410e1e7f0d0aece0c959171a96;hpb=2989bae3e4d22437b6f225385f70423851612a2a;p=pspp diff --git a/src/data/variable.h b/src/data/variable.h index fa7c0d6df0..0f5bb26dbc 100644 --- a/src/data/variable.h +++ b/src/data/variable.h @@ -28,8 +28,6 @@ #include "format.h" #include "missing-values.h" -/* Script variables. */ - /* Variable type. */ enum var_type { @@ -128,71 +126,15 @@ struct vector int cnt; /* Number of variables. */ }; -void discard_variables (void); - -/* This is the active file dictionary. */ -extern struct dictionary *default_dict; - -/* Transformation state. */ - /* PROCESS IF expression. */ extern struct expression *process_if_expr; -/* TEMPORARY support. */ - -/* 1=TEMPORARY has been executed at some point. */ -extern int temporary; - -/* If temporary!=0, the saved dictionary. */ -extern struct dictionary *temp_dict; - -/* If temporary!=0, index into t_trns[] (declared far below) that - gives the point at which data should be written out. -1 means that - the data shouldn't be changed since all transformations are - temporary. */ -extern size_t temp_trns; - -void cancel_temporary (void); - struct ccase; void dump_split_vars (const struct ccase *); -/* Transformations. */ - -/* trns_proc_func return values. */ -#define TRNS_CONTINUE -1 /* Continue to next transformation. */ -#define TRNS_DROP_CASE -2 /* Drop this case. */ -#define TRNS_ERROR -3 /* A serious error, so stop the procedure. */ -#define TRNS_NEXT_CASE -4 /* Skip to next case. INPUT PROGRAM only. */ -#define TRNS_END_FILE -5 /* End of input. INPUT PROGRAM only. */ - -typedef int trns_proc_func (void *, struct ccase *, int); -typedef bool trns_free_func (void *); - -/* A transformation. */ -struct transformation - { - trns_proc_func *proc; /* Transformation proc. */ - trns_free_func *free; /* Garbage collector proc. */ - void *private; /* Private data. */ - }; - -/* Array of transformations */ -extern struct transformation *t_trns; - -/* Number of transformations, maximum number in array currently. */ -extern size_t n_trns, m_trns; - -/* Index of first transformation that is really a transformation. Any - transformations before this belong to INPUT PROGRAM. */ -extern size_t f_trns; - -void add_transformation (trns_proc_func *, trns_free_func *, void *); -size_t next_transformation (void); -bool cancel_transformations (void); - struct var_set; +struct dictionary; struct var_set *var_set_create_from_dict (const struct dictionary *d); struct var_set *var_set_create_from_array (struct variable *const *var, size_t); @@ -240,4 +182,16 @@ int parse_mixed_vars_pool (struct pool *, const char * var_to_string(const struct variable *var); +/* Two complementary functions for dealing with + Very Long String variables */ + +void copy_demangle (char *dst, size_t dst_size, + const char *src, size_t src_size); + +void copy_mangle (char *dst, size_t dst_size, + const char *src, size_t src_size); + +int width_to_bytes(int width); + + #endif /* !variable.h */