CHDK_DE Vorschauversion  Trunk Rev. 6014
 Alle Datenstrukturen Dateien Funktionen Variablen Typdefinitionen Aufzählungen Aufzählungswerte Makrodefinitionen
fileutil.h-Dateireferenz
+ Dieser Graph zeigt, welche Datei direkt oder indirekt diese Datei enthält:

gehe zum Quellcode dieser Datei

Typdefinitionen

typedef int(* callback_process_file )(char *buf, int size)
 

Funktionen

int process_file (const char *filename, callback_process_file callback, int add0)
 
char * load_file_to_length (const char *name, int *size, int add0, int length)
 
char * load_file (const char *name, int *size, int add0)
 
int load_int_value_file (const char *filename, int *value_p)
 
void save_int_value_file (const char *filename, int value)
 

Dokumentation der benutzerdefinierten Typen

typedef int(* callback_process_file)(char *buf, int size)

Definiert in Zeile 8 der Datei fileutil.h.

Dokumentation der Funktionen

char* load_file ( const char *  name,
int *  size,
int  add0 
)

Definiert in Zeile 104 der Datei fileutil.c.

105 {
106  return load_file_to_length(name, rv_size, add0, 0);
107 }
char* load_file_to_length ( const char *  name,
int *  size,
int  add0,
int  length 
)

Definiert in Zeile 81 der Datei fileutil.c.

82 {
83  int rsize, ssize = length;
84 
85  char* buf = _load_file(name, &rsize, &ssize, add0);
86 
87  if (rv_size) *rv_size = rsize;
88 
89  if (rsize != ssize)
90  {
91  if (buf) free(buf);
92  buf = 0;
93  if (rv_size) *rv_size = -1;
94  }
95 
96  return buf;
97 }
int load_int_value_file ( const char *  filename,
int *  value_p 
)

Definiert in Zeile 136 der Datei fileutil.c.

137 {
138  char *buf;
139 
140  buf = load_file(filename, 0, 1);
141  if (!buf)
142  return 0;
143 
144  if (value_p)
145  *value_p = strtol(buf, NULL, 10 /*dec*/);
146  free(buf);
147 
148  return 1;
149 }
int process_file ( const char *  filename,
callback_process_file  callback,
int  add0 
)

Definiert in Zeile 117 der Datei fileutil.c.

118 {
119  int size;
120 
121  char *buf = load_file(filename, &size, add0);
122 
123  size = callback(buf, size);
124 
125  if (buf)
126  free(buf);
127 
128  return size;
129 }
void save_int_value_file ( const char *  filename,
int  value 
)

Definiert in Zeile 153 der Datei fileutil.c.

154 {
155  char* buf = umalloc(20);
156  if ( !buf )
157  return;
158 
159  sprintf(buf,"%d", value);
160 
161  int fd = open( filename, O_WRONLY|O_CREAT|O_TRUNC, 0777);
162  if (fd>=0)
163  {
164  write(fd, buf, strlen(buf)+1);
165  close(fd);
166  }
167  ufree(buf);
168 }