22 lines
		
	
	
		
			530 B
		
	
	
	
		
			C
		
	
	
	
			
		
		
	
	
			22 lines
		
	
	
		
			530 B
		
	
	
	
		
			C
		
	
	
	
| /* Copyright (C) 2012 by  Peter Rosin. All rights reserved.
 | |
|  *
 | |
|  * Permission to use, copy, modify, and distribute this software
 | |
|  * is freely granted, provided that this notice is preserved.
 | |
|  */
 | |
| #ifndef _WORDEXP2_H_
 | |
| 
 | |
| struct ewords_entry {
 | |
|   SLIST_ENTRY(ewords_entry) next;
 | |
|   char ewords[1];
 | |
| };
 | |
| 
 | |
| typedef struct {
 | |
|   SLIST_HEAD(ewords_head, ewords_entry) list;
 | |
|   char *we_wordv[1];
 | |
| } ext_wordv_t;
 | |
| 
 | |
| #define WE_WORDV_TO_EXT_WORDV(wordv) \
 | |
|   (ext_wordv_t *)((void *)(wordv) - offsetof(ext_wordv_t, we_wordv))
 | |
| 
 | |
| #endif /* !_WORDEXP2_H_ */
 |