Example #1
0
int
initialize_contents (void)
{

  saved_braillePageNumberFormat = ud->brl_page_num_format;
  widestrcpy(saved_printPageNumber, ud->print_page_number, -1);
  widestrcpy(saved_printPageNumberFirst, ud->print_page_number_first, -1);
  widestrcpy(saved_printPageNumberLast, ud->print_page_number_last, -1);
  ud->after_contents = 1;
  saved_udContents = ud->contents;
  saved_linesOnPage = ud->lines_on_page;
  saved_braillePageNumber = ud->braille_page_number;
  ud->contents = 1;
  firstHeading = NULL;
  lastHeading = &heading;
  saved_outFile = ud->outFile;
  strcpy (tempFileName, ud->writeable_path);
  strcat (tempFileName, "lbx_body.temp");
  if (!(tempFile = fopen (tempFileName, "w")))
    {
      lou_logPrint ("Can't open temporary file.\n");
      return 0;
    }
  ud->outFile = tempFile;
  ud->lines_on_page = 0;
  if (ud->has_contentsheader)
    ud->braille_page_number = ud->beginning_braille_page_number;
  else
    ud->braille_page_number = 1;
  return 1;
}
Example #2
0
int
initialize_contents (void)
{

  saved_braillePageNumberFormat = ud->brl_page_num_format;
  widestrcpy (saved_printPageNumber, ud->print_page_number);
  widestrcpy (saved_printPageNumberFirst, ud->print_page_number_first);
  widestrcpy (saved_printPageNumberLast, ud->print_page_number_last);
  widestrcpy (saved_pageSeparatorNumberFirst, ud->page_separator_number_first);
  widestrcpy (saved_pageSeparatorNumberLast, ud->page_separator_number_last);
  saved_runningHeadLength = ud->running_head_length;
  saved_footerLength = ud->footer_length;
  widecharcpy (saved_runningHead, ud->running_head, ud->running_head_length);
  widecharcpy (saved_footer, ud->footer, ud->footer_length);
  ud->after_contents = 1;
  saved_udContents = ud->contents;
  saved_linesOnPage = ud->lines_on_page;
  saved_braillePageNumber = ud->braille_page_number;
  ud->contents = 1;
  firstHeading = NULL;
  lastHeading = NULL;
  saved_lastHeading = NULL;
  saved_firstHeading = NULL;
  saved_outFile = ud->outFile;
  strcpy (tempFileName, lbu_getWriteablePath ());
  strcat (tempFileName, "lbx_body.temp");
  if (!(tempFile = fopen (tempFileName, "w")))
    {
      logMessage (LOG_ERROR, "Can't open temporary file.\n");
      return 0;
    }
  ud->outFile = tempFile;
  ud->lines_on_page = 0;
  if (ud->has_contentsheader)
    ud->braille_page_number = ud->beginning_braille_page_number;
  else
    ud->braille_page_number = 1;
  return 1;
}
Example #3
0
int
make_contents (void)
{
  SaveHeading *currentHeading = NULL;
  int old_braillePageNumber;
  sem_act action;
  int bytesRead;
  StyleType *style;
  if (!ud->contents)
    return 1;
  old_braillePageNumber = ud->braille_page_number;
  fclose (tempFile);
  ud->outFile = saved_outFile;
  if (firstHeading != NULL)
    {
      ud->lines_on_page = saved_linesOnPage;
      ud->braille_page_number = saved_braillePageNumber;
      styleSpec = &ud->style_stack[ud->style_top];
      styleSpec->curBrlNumFormat = saved_braillePageNumberFormat;
      ud->brl_page_num_format = saved_braillePageNumberFormat;
      widestrcpy(ud->print_page_number, saved_printPageNumber, -1);
      widestrcpy(ud->print_page_number_first, saved_printPageNumberFirst, -1);
      widestrcpy(ud->print_page_number_last, saved_printPageNumberLast, -1);
      do_newpage ();
      ud->contents = 2;
      currentHeading = firstHeading;
      while (currentHeading != NULL)
	{
	  switch (currentHeading->action)
	    {
	    case contentsheader:
	    default:
	      action = currentHeading->action;
	      break;
	    case heading1:
	      action = contents1;
	      break;
	    case heading2:
	      action = contents2;
	      break;
	    case heading3:
	      action = contents3;
	      break;
	    case heading4:
	      action = contents4;
	      break;
	    case heading5:
	      action = contents5;
	      break;
        case heading6:
	      action = contents6;
	      break;
        case heading7:
	      action = contents7;
	      break;
        case heading8:
	      action = contents8;
	      break;
        case heading9:
	      action = contents9;
	      break;
        case heading10:
	      action = contents10;
	      break;
	    }
	  style = action_to_style (action);
	  start_style (style);
	  memcpy (ud->translated_buffer, currentHeading->headingChars,
		  currentHeading->headingLength * CHARSIZE);
	  ud->translated_length = currentHeading->headingLength;
	  end_style (style);
	  currentHeading = currentHeading->next;
	}
      do_newpage ();
      ud->prelim_pages = ud->braille_page_number;
      ud->braille_page_number = saved_braillePageNumber;
      /*Free headings */
      currentHeading = firstHeading;
      while (currentHeading->next != NULL)
	{
	  lastHeading = currentHeading;
	  currentHeading = currentHeading->next;
	  free (lastHeading);
	}
      ud->contents = saved_udContents;
      ud->braille_page_number = old_braillePageNumber;
    }

  if (!(tempFile = fopen (tempFileName, "r")))
    {
      lou_logPrint ("Can't open temporary file.\n");
      return 0;
    }
  do
    {
      bytesRead = fread (ud->translated_buffer, 1, sizeof
			 (ud->translated_buffer), tempFile);
      fwrite (ud->translated_buffer, 1, bytesRead, ud->outFile);
    }
  while (bytesRead != 0);
  fclose (tempFile);
  return 1;
}