/[PAMELA software]/yoda/event/DirectoryStructure.c
ViewVC logotype

Annotation of /yoda/event/DirectoryStructure.c

Parent Directory Parent Directory | Revision Log Revision Log


Revision 3.0 - (hide annotations) (download)
Fri Mar 4 15:54:11 2005 UTC (19 years, 9 months ago) by kusanagi
Branch: MAIN
Changes since 2.0: +1 -1 lines
File MIME type: text/plain
Error proof version.
Implemented all detectors packets plus all the main telemetries packets.
Missing all the Init and Alarm packets.
Disabled CRC control on VarDump, ArrDump, TabDump for CPU debugging needs
(the data formats seems correct even if CRC get wrong)

1 kusanagi 1.1 /** @file
2 kusanagi 2.0 * $Source: /home/cvsmanager/yoda/event/DirectoryStructure.c,v $
3 kusanagi 3.0 * $Id: DirectoryStructure.c,v 2.0 2004/09/21 20:49:57 kusanagi Exp $
4 kusanagi 2.0 * $Author: kusanagi $
5 kusanagi 1.1 *
6     * Implementation of the CreateDirectoryStructure function.
7     */
8    
9     #include <sys/stat.h>
10     #include <sys/types.h>
11     #include <string.h>
12     #include <stdlib.h>
13     #include <stdio.h>
14    
15     #include "DirectoryStructure.h"
16    
17     /**
18     * Create all directories that are needed to create a certain file name.
19     * @param FileName file name with the path.
20     * @retval 0 everything was OK.
21     * @retval -1 an error occurred, errno is set accordingly.
22     */
23     int CreateDirectoryStructure(const char *FileName) {
24     const char *pathend;
25     char *path = malloc(strlen(FileName) + 1);
26     struct stat buf;
27    
28     for (pathend = FileName+1; pathend != NULL;
29     pathend = strchr(pathend+1, '/')) {
30     strncpy(path, FileName, (pathend - FileName));
31     path[pathend - FileName] = '\0';
32     if (stat(path, &buf) != 0) {
33     if (mkdir(path, S_IRWXU | S_IRWXG | S_IRWXO) != 0) {
34     return -1;
35     }
36     }
37     }
38     return 0;
39     }
40    

  ViewVC Help
Powered by ViewVC 1.1.23