aslfileio.c (4b49587c3dd54aed8eb103d838a89ca79484a9b6) aslfileio.c (6f1f1a6395c91c5a845727d7313921a6fe3d297b)
1/******************************************************************************
2 *
3 * Module Name: aslfileio - File I/O support
4 *
5 *****************************************************************************/
6
7/******************************************************************************
8 *

--- 162 unchanged lines hidden (view full) ---

171 ******************************************************************************/
172
173void
174FlFileError (
175 UINT32 FileId,
176 UINT8 ErrorId)
177{
178
1/******************************************************************************
2 *
3 * Module Name: aslfileio - File I/O support
4 *
5 *****************************************************************************/
6
7/******************************************************************************
8 *

--- 162 unchanged lines hidden (view full) ---

171 ******************************************************************************/
172
173void
174FlFileError (
175 UINT32 FileId,
176 UINT8 ErrorId)
177{
178
179 sprintf (MsgBuffer, "\"%s\" (%s) - %s", Gbl_Files[FileId].Filename,
180 Gbl_Files[FileId].Description, strerror (errno));
179 sprintf (AslGbl_MsgBuffer, "\"%s\" (%s) - %s", AslGbl_Files[FileId].Filename,
180 AslGbl_Files[FileId].Description, strerror (errno));
181
181
182 AslCommonError (ASL_ERROR, ErrorId, 0, 0, 0, 0, NULL, MsgBuffer);
182 AslCommonError (ASL_ERROR, ErrorId, 0, 0, 0, 0, NULL, AslGbl_MsgBuffer);
183}
184
185
186/*******************************************************************************
187 *
188 * FUNCTION: FlOpenFile
189 *
190 * PARAMETERS: FileId - Index into file info array

--- 11 unchanged lines hidden (view full) ---

202FlOpenFile (
203 UINT32 FileId,
204 char *Filename,
205 char *Mode)
206{
207 FILE *File;
208
209
183}
184
185
186/*******************************************************************************
187 *
188 * FUNCTION: FlOpenFile
189 *
190 * PARAMETERS: FileId - Index into file info array

--- 11 unchanged lines hidden (view full) ---

202FlOpenFile (
203 UINT32 FileId,
204 char *Filename,
205 char *Mode)
206{
207 FILE *File;
208
209
210 Gbl_Files[FileId].Filename = Filename;
211 Gbl_Files[FileId].Handle = NULL;
210 AslGbl_Files[FileId].Filename = Filename;
211 AslGbl_Files[FileId].Handle = NULL;
212
213 File = fopen (Filename, Mode);
214 if (!File)
215 {
216 FlFileError (FileId, ASL_MSG_OPEN);
217 AslAbort ();
218 }
219
212
213 File = fopen (Filename, Mode);
214 if (!File)
215 {
216 FlFileError (FileId, ASL_MSG_OPEN);
217 AslAbort ();
218 }
219
220 Gbl_Files[FileId].Handle = File;
220 AslGbl_Files[FileId].Handle = File;
221}
222
223
224/*******************************************************************************
225 *
226 * FUNCTION: FlGetFileSize
227 *
228 * PARAMETERS: FileId - Index into file info array

--- 7 unchanged lines hidden (view full) ---

236
237UINT32
238FlGetFileSize (
239 UINT32 FileId)
240{
241 UINT32 FileSize;
242
243
221}
222
223
224/*******************************************************************************
225 *
226 * FUNCTION: FlGetFileSize
227 *
228 * PARAMETERS: FileId - Index into file info array

--- 7 unchanged lines hidden (view full) ---

236
237UINT32
238FlGetFileSize (
239 UINT32 FileId)
240{
241 UINT32 FileSize;
242
243
244 FileSize = CmGetFileSize (Gbl_Files[FileId].Handle);
244 FileSize = CmGetFileSize (AslGbl_Files[FileId].Handle);
245 if (FileSize == ACPI_UINT32_MAX)
246 {
247 AslAbort();
248 }
249
250 return (FileSize);
251}
252

--- 19 unchanged lines hidden (view full) ---

272 void *Buffer,
273 UINT32 Length)
274{
275 UINT32 Actual;
276
277
278 /* Read and check for error */
279
245 if (FileSize == ACPI_UINT32_MAX)
246 {
247 AslAbort();
248 }
249
250 return (FileSize);
251}
252

--- 19 unchanged lines hidden (view full) ---

272 void *Buffer,
273 UINT32 Length)
274{
275 UINT32 Actual;
276
277
278 /* Read and check for error */
279
280 Actual = fread (Buffer, 1, Length, Gbl_Files[FileId].Handle);
280 Actual = fread (Buffer, 1, Length, AslGbl_Files[FileId].Handle);
281 if (Actual < Length)
282 {
281 if (Actual < Length)
282 {
283 if (feof (Gbl_Files[FileId].Handle))
283 if (feof (AslGbl_Files[FileId].Handle))
284 {
285 /* End-of-file, just return error */
286
287 return (AE_ERROR);
288 }
289
290 FlFileError (FileId, ASL_MSG_READ);
291 AslAbort ();

--- 24 unchanged lines hidden (view full) ---

316 void *Buffer,
317 UINT32 Length)
318{
319 UINT32 Actual;
320
321
322 /* Write and check for error */
323
284 {
285 /* End-of-file, just return error */
286
287 return (AE_ERROR);
288 }
289
290 FlFileError (FileId, ASL_MSG_READ);
291 AslAbort ();

--- 24 unchanged lines hidden (view full) ---

316 void *Buffer,
317 UINT32 Length)
318{
319 UINT32 Actual;
320
321
322 /* Write and check for error */
323
324 Actual = fwrite ((char *) Buffer, 1, Length, Gbl_Files[FileId].Handle);
324 Actual = fwrite ((char *) Buffer, 1, Length, AslGbl_Files[FileId].Handle);
325 if (Actual != Length)
326 {
327 FlFileError (FileId, ASL_MSG_WRITE);
328 AslAbort ();
329 }
330
325 if (Actual != Length)
326 {
327 FlFileError (FileId, ASL_MSG_WRITE);
328 AslAbort ();
329 }
330
331 if ((FileId == ASL_FILE_PREPROCESSOR) && Gbl_PreprocessorOutputFlag)
331 if ((FileId == ASL_FILE_PREPROCESSOR) && AslGbl_PreprocessorOutputFlag)
332 {
333 /* Duplicate the output to the user preprocessor (.i) file */
334
335 Actual = fwrite ((char *) Buffer, 1, Length,
332 {
333 /* Duplicate the output to the user preprocessor (.i) file */
334
335 Actual = fwrite ((char *) Buffer, 1, Length,
336 Gbl_Files[ASL_FILE_PREPROCESSOR_USER].Handle);
336 AslGbl_Files[ASL_FILE_PREPROCESSOR_USER].Handle);
337 if (Actual != Length)
338 {
339 FlFileError (FileId, ASL_MSG_WRITE);
340 AslAbort ();
341 }
342 }
343}
344

--- 19 unchanged lines hidden (view full) ---

364 char *Format,
365 ...)
366{
367 INT32 Actual;
368 va_list Args;
369
370
371 va_start (Args, Format);
337 if (Actual != Length)
338 {
339 FlFileError (FileId, ASL_MSG_WRITE);
340 AslAbort ();
341 }
342 }
343}
344

--- 19 unchanged lines hidden (view full) ---

364 char *Format,
365 ...)
366{
367 INT32 Actual;
368 va_list Args;
369
370
371 va_start (Args, Format);
372 Actual = vfprintf (Gbl_Files[FileId].Handle, Format, Args);
372 Actual = vfprintf (AslGbl_Files[FileId].Handle, Format, Args);
373 va_end (Args);
374
375 if (Actual == -1)
376 {
377 FlFileError (FileId, ASL_MSG_WRITE);
378 AslAbort ();
379 }
380
381 if ((FileId == ASL_FILE_PREPROCESSOR) &&
373 va_end (Args);
374
375 if (Actual == -1)
376 {
377 FlFileError (FileId, ASL_MSG_WRITE);
378 AslAbort ();
379 }
380
381 if ((FileId == ASL_FILE_PREPROCESSOR) &&
382 Gbl_PreprocessorOutputFlag)
382 AslGbl_PreprocessorOutputFlag)
383 {
384 /*
385 * Duplicate the output to the user preprocessor (.i) file,
386 * except: no #line directives.
387 */
388 if (!strncmp (Format, "#line", 5))
389 {
390 return;
391 }
392
393 va_start (Args, Format);
383 {
384 /*
385 * Duplicate the output to the user preprocessor (.i) file,
386 * except: no #line directives.
387 */
388 if (!strncmp (Format, "#line", 5))
389 {
390 return;
391 }
392
393 va_start (Args, Format);
394 Actual = vfprintf (Gbl_Files[ASL_FILE_PREPROCESSOR_USER].Handle,
394 Actual = vfprintf (AslGbl_Files[ASL_FILE_PREPROCESSOR_USER].Handle,
395 Format, Args);
396 va_end (Args);
397
398 if (Actual == -1)
399 {
400 FlFileError (FileId, ASL_MSG_WRITE);
401 AslAbort ();
402 }

--- 18 unchanged lines hidden (view full) ---

421void
422FlSeekFile (
423 UINT32 FileId,
424 long Offset)
425{
426 int Error;
427
428
395 Format, Args);
396 va_end (Args);
397
398 if (Actual == -1)
399 {
400 FlFileError (FileId, ASL_MSG_WRITE);
401 AslAbort ();
402 }

--- 18 unchanged lines hidden (view full) ---

421void
422FlSeekFile (
423 UINT32 FileId,
424 long Offset)
425{
426 int Error;
427
428
429 Error = fseek (Gbl_Files[FileId].Handle, Offset, SEEK_SET);
429 Error = fseek (AslGbl_Files[FileId].Handle, Offset, SEEK_SET);
430 if (Error)
431 {
432 FlFileError (FileId, ASL_MSG_SEEK);
433 AslAbort ();
434 }
435}
436
437

--- 11 unchanged lines hidden (view full) ---

449
450void
451FlCloseFile (
452 UINT32 FileId)
453{
454 int Error;
455
456
430 if (Error)
431 {
432 FlFileError (FileId, ASL_MSG_SEEK);
433 AslAbort ();
434 }
435}
436
437

--- 11 unchanged lines hidden (view full) ---

449
450void
451FlCloseFile (
452 UINT32 FileId)
453{
454 int Error;
455
456
457 if (!Gbl_Files[FileId].Handle)
457 if (!AslGbl_Files[FileId].Handle)
458 {
459 return;
460 }
461
458 {
459 return;
460 }
461
462 Error = fclose (Gbl_Files[FileId].Handle);
462 Error = fclose (AslGbl_Files[FileId].Handle);
463 if (Error)
464 {
465 FlFileError (FileId, ASL_MSG_CLOSE);
466 AslAbort ();
467 }
468
469 /* Do not clear/free the filename string */
470
463 if (Error)
464 {
465 FlFileError (FileId, ASL_MSG_CLOSE);
466 AslAbort ();
467 }
468
469 /* Do not clear/free the filename string */
470
471 Gbl_Files[FileId].Handle = NULL;
471 AslGbl_Files[FileId].Handle = NULL;
472 return;
473}
474
475
476/*******************************************************************************
477 *
478 * FUNCTION: FlDeleteFile
479 *

--- 4 unchanged lines hidden (view full) ---

484 * DESCRIPTION: Delete a file.
485 *
486 ******************************************************************************/
487
488void
489FlDeleteFile (
490 UINT32 FileId)
491{
472 return;
473}
474
475
476/*******************************************************************************
477 *
478 * FUNCTION: FlDeleteFile
479 *

--- 4 unchanged lines hidden (view full) ---

484 * DESCRIPTION: Delete a file.
485 *
486 ******************************************************************************/
487
488void
489FlDeleteFile (
490 UINT32 FileId)
491{
492 ASL_FILE_INFO *Info = &Gbl_Files[FileId];
492 ASL_FILE_INFO *Info = &AslGbl_Files[FileId];
493
494
495 if (!Info->Filename)
496 {
497 return;
498 }
499
500 if (remove (Info->Filename))
501 {
502 printf ("%s (%s file) ",
503 Info->Filename, Info->Description);
504 perror ("Could not delete");
505 }
506
507 Info->Filename = NULL;
508 return;
509}
493
494
495 if (!Info->Filename)
496 {
497 return;
498 }
499
500 if (remove (Info->Filename))
501 {
502 printf ("%s (%s file) ",
503 Info->Filename, Info->Description);
504 perror ("Could not delete");
505 }
506
507 Info->Filename = NULL;
508 return;
509}