Mercurial > ~dholland > hg > ag > index.cgi
view anagram/agcore/tsd.h @ 7:57b2cc9b87f7
Use memcpy instead of strncpy when we know the length anyway.
Modern gcc seems to think it knows how to detect misuse of strncpy,
but it's wrong (in fact: very, very wrong) and the path of least
resistance is to not try to fight with it.
author | David A. Holland |
---|---|
date | Mon, 30 May 2022 23:47:52 -0400 |
parents | 13d2b8934445 |
children |
line wrap: on
line source
/* * AnaGram, A System for Syntax Directed Programming * Copyright 1993-2002 Parsifal Software. All Rights Reserved. * See the file COPYING for license and usage terms. * * tsd.h - tuple set dictionary */ #ifndef TSD_H #define TSD_H #define check_tsd(t) assert(!invalid_tsd(t)) struct tsd { int *sb; unsigned nt; unsigned tw; unsigned na; }; void at(tsd *t, ...); tsd *copy_tuple_set(tsd *t); tsd *delete_tsd(tsd *ts); tsd *init_tsd(unsigned n); int invalid_tsd(tsd *t); void purge_tsd(tsd *r, tsd *k); void p1_tsd(tsd *r, int rc, tsd *k, int kc); void reset_tsd(tsd *ts); tsd *resize_tsd(tsd *ts, unsigned n); int sit(tsd *t, ...); tsd *spec_tsd(unsigned size, unsigned n); void xtx(tsd *t, unsigned x, ...); void xtxf(tsd *t, unsigned x, ...); #endif /* TSD_H */