CHDK_DE Vorschauversion  Trunk Rev. 5163
 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 102 der Datei fileutil.c.

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

Definiert in Zeile 79 der Datei fileutil.c.

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

Definiert in Zeile 134 der Datei fileutil.c.

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

Definiert in Zeile 115 der Datei fileutil.c.

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

Definiert in Zeile 151 der Datei fileutil.c.

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