39 lines
		
	
	
	
		
			679 B
			
		
	
	
	
		
			C
		
	
	
	
	
	
		
		
			
		
	
	
			39 lines
		
	
	
	
		
			679 B
			
		
	
	
	
		
			C
		
	
	
	
	
	
| 
								 | 
							
								#include <stdio.h>
							 | 
						||
| 
								 | 
							
								#include <stdint.h>
							 | 
						||
| 
								 | 
							
								#include <stdlib.h>
							 | 
						||
| 
								 | 
							
								#include <unistd.h>
							 | 
						||
| 
								 | 
							
								#include <sys/types.h>
							 | 
						||
| 
								 | 
							
								#include <sys/stat.h>
							 | 
						||
| 
								 | 
							
								#include <fcntl.h>
							 | 
						||
| 
								 | 
							
								#include <errno.h>
							 | 
						||
| 
								 | 
							
								#include <string.h>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								int main(int argc, char **argv)
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
									const char *path;
							 | 
						||
| 
								 | 
							
									char buf[4];
							 | 
						||
| 
								 | 
							
									int fd, rc;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									if (argc < 2) {
							 | 
						||
| 
								 | 
							
										fprintf(stderr, "usage: %s <path>\n", argv[0]);
							 | 
						||
| 
								 | 
							
										return EXIT_FAILURE;
							 | 
						||
| 
								 | 
							
									}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									path = argv[1];
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									/* create a test variable */
							 | 
						||
| 
								 | 
							
									fd = open(path, O_RDWR | O_CREAT, 0600);
							 | 
						||
| 
								 | 
							
									if (fd < 0) {
							 | 
						||
| 
								 | 
							
										perror("open(O_WRONLY)");
							 | 
						||
| 
								 | 
							
										return EXIT_FAILURE;
							 | 
						||
| 
								 | 
							
									}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									rc = read(fd, buf, sizeof(buf));
							 | 
						||
| 
								 | 
							
									if (rc != 0) {
							 | 
						||
| 
								 | 
							
										fprintf(stderr, "Reading a new var should return EOF\n");
							 | 
						||
| 
								 | 
							
										return EXIT_FAILURE;
							 | 
						||
| 
								 | 
							
									}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									return EXIT_SUCCESS;
							 | 
						||
| 
								 | 
							
								}
							 |