73 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			73 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
| /*	$NetBSD: tables_shared.c,v 1.1.1.1 2009/10/26 00:27:05 christos Exp $	*/
 | ||
| 
 | ||
| #ifdef FLEX_SCANNER
 | ||
| /*
 | ||
| dnl   tables_shared.c - tables serialization code
 | ||
| dnl 
 | ||
| dnl   Copyright (c) 1990 The Regents of the University of California.
 | ||
| dnl   All rights reserved.
 | ||
| dnl 
 | ||
| dnl   This code is derived from software contributed to Berkeley by
 | ||
| dnl   Vern Paxson.
 | ||
| dnl 
 | ||
| dnl   The United States Government has rights in this work pursuant
 | ||
| dnl   to contract no. DE-AC03-76SF00098 between the United States
 | ||
| dnl   Department of Energy and the University of California.
 | ||
| dnl 
 | ||
| dnl   This file is part of flex.
 | ||
| dnl 
 | ||
| dnl   Redistribution and use in source and binary forms, with or without
 | ||
| dnl   modification, are permitted provided that the following conditions
 | ||
| dnl   are met:
 | ||
| dnl 
 | ||
| dnl   1. Redistributions of source code must retain the above copyright
 | ||
| dnl      notice, this list of conditions and the following disclaimer.
 | ||
| dnl   2. Redistributions in binary form must reproduce the above copyright
 | ||
| dnl      notice, this list of conditions and the following disclaimer in the
 | ||
| dnl      documentation and/or other materials provided with the distribution.
 | ||
| dnl 
 | ||
| dnl   Neither the name of the University nor the names of its contributors
 | ||
| dnl   may be used to endorse or promote products derived from this software
 | ||
| dnl   without specific prior written permission.
 | ||
| dnl 
 | ||
| dnl   THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
 | ||
| dnl   IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
 | ||
| dnl   WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
 | ||
| dnl   PURPOSE.
 | ||
| dnl 
 | ||
| */
 | ||
| 
 | ||
| /* This file is meant to be included in both the skeleton and the actual
 | ||
|  * flex code (hence the name "_shared"). 
 | ||
|  */
 | ||
| #ifndef yyskel_static
 | ||
| #define yyskel_static static
 | ||
| #endif
 | ||
| #else
 | ||
| #include "flexdef.h"
 | ||
| #include "tables.h"
 | ||
| #ifndef yyskel_static
 | ||
| #define yyskel_static
 | ||
| #endif
 | ||
| #endif
 | ||
| 
 | ||
| 
 | ||
| /** Get the number of integers in this table. This is NOT the
 | ||
|  *  same thing as the number of elements.
 | ||
|  *  @param td the table 
 | ||
|  *  @return the number of integers in the table
 | ||
|  */
 | ||
| yyskel_static flex_int32_t yytbl_calc_total_len (const struct yytbl_data *tbl)
 | ||
| {
 | ||
| 	flex_int32_t n;
 | ||
| 
 | ||
| 	/* total number of ints */
 | ||
| 	n = tbl->td_lolen;
 | ||
| 	if (tbl->td_hilen > 0)
 | ||
| 		n *= tbl->td_hilen;
 | ||
| 
 | ||
| 	if (tbl->td_id == YYTD_ID_TRANSITION)
 | ||
| 		n *= 2;
 | ||
| 	return n;
 | ||
| }
 | 
