X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;ds=sidebyside;f=src%2Fdata%2Fvalue.c;h=5e94b68c2ed81b5abf656e29edca9c4df9d26e2f;hb=f49ed94900625697d344071290cf2360293c27e3;hp=2de3adbae440e32e54e856984056718c5ec0cccb;hpb=338fb2a2e84df6427a2fdee6769421f57d5666d8;p=pspp diff --git a/src/data/value.c b/src/data/value.c index 2de3adbae4..5e94b68c2e 100644 --- a/src/data/value.c +++ b/src/data/value.c @@ -1,6 +1,5 @@ /* PSPP - computes sample statistics. Copyright (C) 1997-9, 2000 Free Software Foundation, Inc. - Written by Ben Pfaff . This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as @@ -54,3 +53,25 @@ hash_value (const union value *v, int width) ? hsh_hash_double (v->f) : hsh_hash_bytes (v->s, MIN (MAX_SHORT_STRING, width))); } + +/* Copies SRC to DST, given that they both contain data of the + given WIDTH. */ +void +value_copy (union value *dst, const union value *src, int width) +{ + if (width == 0) + dst->f = src->f; + else + memcpy (dst->s, src->s, width); +} + +/* Sets V to the system-missing value for data of the given + WIDTH. */ +void +value_set_missing (union value *v, int width) +{ + if (width == 0) + v->f = SYSMIS; + else + memset (v->s, ' ', width); +}