コード例 #1
0
ファイル: editorbase.cpp プロジェクト: DowerChest/codeblocks
void EditorBase::InitFilename(const wxString& filename)
{
    if (filename.IsEmpty())
        m_Filename = realpath(CreateUniqueFilename());
    else
        m_Filename = realpath(filename);

    wxFileName fname;
    fname.Assign(m_Filename);
    m_Shortname = fname.GetFullName();
}
コード例 #2
0
ファイル: editorbase.cpp プロジェクト: yjdwbj/cb10-05-ide
void EditorBase::InitFilename(const wxString& filename)
{
    if (filename.IsEmpty())
        m_Filename = realpath(CreateUniqueFilename());
    else
        m_Filename = realpath(filename);

    wxFileName fname;
    fname.Assign(m_Filename);
    m_Shortname = fname.GetFullName();
    //    Manager::Get()->GetLogManager()->DebugLog("ctor: Filename=%s\nShort=%s", m_Filename.c_str(), m_Shortname.c_str());
}
コード例 #3
0
OP_STATUS TransferManagerDownloadCallback::SetSaveDirectFileName(OpString& filename, OpString& direct_filename, BOOL& not_success)
{
	not_success = TRUE;

	const uni_char* save_to_folder = viewer.GetSaveToFolder();

	if (save_to_folder)
	{
		if (OpStatus::OK == (direct_filename.Set(save_to_folder)))
		{
			if (	direct_filename.Length() == 0
				|| (	direct_filename.Length() > 0
					&&	direct_filename[direct_filename.Length()-1] == PATHSEPCHAR)
				|| (	direct_filename[direct_filename.Length()-1] != PATHSEPCHAR
					 &&	OpStatus::OK == direct_filename.Append(PATHSEP)))
			{
				if (OpStatus::OK == direct_filename.Append(filename))
				{
					if (OpStatus::OK == CreateUniqueFilename(direct_filename))
					{
						if (direct_filename.HasContent())
							not_success = FALSE;
					}
					else
					{
						return OpStatus::ERR;
					}
				}
				else
				{
					return OpStatus::ERR;
				}
			}
			else
			{
				return OpStatus::ERR;
			}
		}
		else
		{
			return OpStatus::ERR;
		}
	}
	return OpStatus::OK;
}
コード例 #4
0
ファイル: vcal.c プロジェクト: Yeraze/ytnef
void SaveVCalendar(TNEFStruct TNEF, int isMtgReq) {
  char ifilename[MAX_FILENAME_SIZE];
  variableLength *filename;
  char *charptr, *charptr2;
  FILE *fptr;
  int index;
  DDWORD *ddword_ptr;
  dtr thedate;

  if(isMtgReq) {
    CreateUniqueFilename(ifilename, MAX_FILENAME_SIZE, "MtgReq", "ics", filepath);
  } else {
    CreateUniqueFilename(ifilename, MAX_FILENAME_SIZE, "calendar", "ics", filepath);
  }

  printf("%s\n", ifilename);
  if (savefiles == 0)
    return;

  if ((fptr = fopen(ifilename, "wb")) == NULL) {
    printf("Error writing file to disk!");
  } else {
    fprintf(fptr, "BEGIN:VCALENDAR\n");
    if (TNEF.messageClass[0] != 0) {
      charptr2 = TNEF.messageClass;
      charptr = charptr2;
      while (*charptr != 0) {
        if (*charptr == '.') {
          charptr2 = charptr;
        }
        charptr++;
      }
      if (strcmp((char*)charptr2, ".MtgCncl") == 0) {
        fprintf(fptr, "METHOD:CANCEL\n");
      } else {
        fprintf(fptr, "METHOD:REQUEST\n");
      }
    } else {
      fprintf(fptr, "METHOD:REQUEST\n");
    }
    fprintf(fptr, PRODID);
    fprintf(fptr, "VERSION:2.0\n");
    fprintf(fptr, "BEGIN:VEVENT\n");

    // UID
    // After alot of comparisons, I'm reasonably sure this is totally
    // wrong.  But it's not really necessary.
    //
    // I think it only exists to connect future modification entries to
    // this entry. so as long as it's incorrectly interpreted the same way
    // every time, it should be ok :)
    filename = NULL;
    if ((filename = MAPIFindUserProp(&(TNEF.MapiProperties),
                                     PROP_TAG(PT_BINARY, 0x3))) == MAPI_UNDEFINED) {
      if ((filename = MAPIFindUserProp(&(TNEF.MapiProperties),
                                       PROP_TAG(PT_BINARY, 0x23))) == MAPI_UNDEFINED) {
        filename = NULL;
      }
    }
    if (filename != NULL) {
      fprintf(fptr, "UID:");
      for (index = 0; index < filename->size; index++) {
        fprintf(fptr, "%02X", (unsigned char)filename->data[index]);
      }
      fprintf(fptr, "\n");
    }

    // Sequence
    filename = NULL;
    if ((filename = MAPIFindUserProp(&(TNEF.MapiProperties),
                                     PROP_TAG(PT_LONG, 0x8201))) != MAPI_UNDEFINED) {
      ddword_ptr = (DDWORD *)filename->data;
      fprintf(fptr, "SEQUENCE:%i\n", (int) *ddword_ptr);
    }

    filename = NULL;
    if ((filename = MAPIFindProperty(&(TNEF.MapiProperties),
                                     PROP_TAG(PT_BINARY, PR_SENDER_SEARCH_KEY)))
        == MAPI_UNDEFINED) {
      if ((filename = MAPIFindProperty(&(TNEF.MapiProperties),
                                       PROP_TAG(PT_UNICODE, PR_SENT_REPRESENTING_EMAIL_ADDRESS)))
          == MAPI_UNDEFINED) {
        filename = NULL;
      }
    }
    if (filename != NULL) {
      charptr = (char*)filename->data;
      charptr2 = (char*)strstr((char*)charptr, ":");
      if (charptr2 == NULL)
        charptr2 = charptr;
      else
        charptr2++;
      fprintf(fptr, "ORGANIZER;CN=\"%s\":MAILTO:%s\n",
              charptr2, charptr2);
    }

    // Required Attendees
    filename = NULL;
    if ((filename = MAPIFindUserProp(&(TNEF.MapiProperties),
                                     PROP_TAG(PT_STRING8, 0x823b))) == MAPI_UNDEFINED) {
      if ((filename = MAPIFindUserProp(&(TNEF.MapiProperties),
                                       PROP_TAG(PT_UNICODE, 0x823b))) == MAPI_UNDEFINED) {
        filename = NULL;
      }
    }
    if (filename != NULL) {
      // We have a list of required participants, so
      // write them out.
      if (strlen((char*)filename->data) > 1) {
        charptr = (char*)filename->data - 1;
        charptr2 = (char*)strstr((char*)(charptr + 1), ";");
        while (charptr != NULL) {
          charptr++;
          charptr2 = (char *)strstr((char*)charptr, ";");
          if (charptr2 != NULL) {
            *charptr2 = 0;
          }
          while (*charptr == ' ')
            charptr++;
          fprintf(fptr, "ATTENDEE;PARTSTAT=NEEDS-ACTION;");
          fprintf(fptr, "ROLE=REQ-PARTICIPANT;RSVP=TRUE;");
          fprintf(fptr, "CN=\"%s\":MAILTO:%s\n",
                  charptr, charptr);
          charptr = charptr2;
        }
      }
      // Optional attendees
      filename = NULL;
      if ((filename = MAPIFindUserProp(&(TNEF.MapiProperties),
                                       PROP_TAG(PT_STRING8, 0x823c))) == MAPI_UNDEFINED) {
        if ((filename = MAPIFindUserProp(&(TNEF.MapiProperties),
                                         PROP_TAG(PT_UNICODE, 0x823c))) == MAPI_UNDEFINED) {
          filename = NULL;
        }
      }
      if (filename != NULL) {
        // The list of optional participants
        if (strlen((char*)filename->data) > 1) {
          charptr = (char*)filename->data - 1;
          charptr2 = (char *)strstr((char*)(charptr + 1), ";");
          while (charptr != NULL) {
            charptr++;
            charptr2 = (char *)strstr((char*)charptr, ";");
            if (charptr2 != NULL) {
              *charptr2 = 0;
            }
            while (*charptr == ' ')
              charptr++;
            fprintf(fptr, "ATTENDEE;PARTSTAT=NEEDS-ACTION;");
            fprintf(fptr, "ROLE=OPT-PARTICIPANT;RSVP=TRUE;");
            fprintf(fptr, "CN=\"%s\":MAILTO:%s\n",
                    charptr, charptr);
            charptr = charptr2;
          }
        }
      }
    } else {
      filename = NULL;
      if ((filename=MAPIFindUserProp(&(TNEF.MapiProperties),
                                     PROP_TAG(PT_STRING8, 0x8238))) == MAPI_UNDEFINED) {
        if ((filename=MAPIFindUserProp(&(TNEF.MapiProperties),
                                       PROP_TAG(PT_UNICODE, 0x8238))) == MAPI_UNDEFINED) {
          filename = NULL;
        }
      }
      if (filename != NULL) {
        if (strlen((char*)filename->data) > 1) {
          charptr = (char*)filename->data - 1;
          charptr2 = (char *)strstr((char*)(charptr + 1), ";");
          while (charptr != NULL) {
            charptr++;
            charptr2 = (char *)strstr((char*)charptr, ";");
            if (charptr2 != NULL) {
              *charptr2 = 0;
            }
            while (*charptr == ' ')
              charptr++;
            fprintf(fptr, "ATTENDEE;PARTSTAT=NEEDS-ACTION;");
            fprintf(fptr, "ROLE=REQ-PARTICIPANT;RSVP=TRUE;");
            fprintf(fptr, "CN=\"%s\":MAILTO:%s\n", charptr, charptr);
            charptr = charptr2;
          }
        }
      }
    }
    // Summary
    filename = NULL;
    if ((filename = MAPIFindProperty(&(TNEF.MapiProperties),
                                     PROP_TAG(PT_STRING8, PR_CONVERSATION_TOPIC))) == MAPI_UNDEFINED) {
      if ((filename = MAPIFindProperty(&(TNEF.MapiProperties),
                                       PROP_TAG(PT_UNICODE, PR_CONVERSATION_TOPIC))) == MAPI_UNDEFINED) {
        filename = NULL;
      }
    }
    if (filename != NULL) {
      fprintf(fptr, "SUMMARY:");
      Cstylefprint(fptr, filename);
      fprintf(fptr, "\n");
    }

    // Description
    if ((filename = MAPIFindProperty(&(TNEF.MapiProperties),
                                     PROP_TAG(PT_BINARY, PR_RTF_COMPRESSED)))
        != MAPI_UNDEFINED) {
      variableLength buf;
      if ((buf.data = DecompressRTF(filename, &(buf.size))) != NULL) {
        fprintf(fptr, "DESCRIPTION:");
        PrintRTF(fptr, &buf);
        free(buf.data);
      }

    }

    // Location
    filename = NULL;
    if ((filename = MAPIFindUserProp(&(TNEF.MapiProperties),
                                     PROP_TAG(PT_STRING8, 0x0002))) == MAPI_UNDEFINED) {
      if ((filename = MAPIFindUserProp(&(TNEF.MapiProperties),
                                       PROP_TAG(PT_STRING8, 0x8208))) == MAPI_UNDEFINED) {
        if ((filename=MAPIFindUserProp(&(TNEF.MapiProperties), 
                                       PROP_TAG(PT_UNICODE, 0x0002))) == MAPI_UNDEFINED) {
          if ((filename=MAPIFindUserProp(&(TNEF.MapiProperties), 
                                         PROP_TAG(PT_UNICODE, 0x8208))) == MAPI_UNDEFINED) {
            filename = NULL;
          }
        }
      }
    }
    if (filename != NULL) {
      fprintf(fptr, "LOCATION: %s\n", filename->data);
    }
    // Date Start
    filename = NULL;
    if ((filename = MAPIFindUserProp(&(TNEF.MapiProperties),
                                     PROP_TAG(PT_SYSTIME, 0x820d))) == MAPI_UNDEFINED) {
      if ((filename = MAPIFindUserProp(&(TNEF.MapiProperties),
                                       PROP_TAG(PT_SYSTIME, 0x8516))) == MAPI_UNDEFINED) {
        filename = NULL;
      }
    }
    if (filename != NULL) {
      fprintf(fptr, "DTSTART:");
      MAPISysTimetoDTR(filename->data, &thedate);
      fprintf(fptr, "%04i%02i%02iT%02i%02i%02iZ\n",
              thedate.wYear, thedate.wMonth, thedate.wDay,
              thedate.wHour, thedate.wMinute, thedate.wSecond);
    }
    // Date End
    filename = NULL;
    if ((filename = MAPIFindUserProp(&(TNEF.MapiProperties),
                                     PROP_TAG(PT_SYSTIME, 0x820e))) == MAPI_UNDEFINED) {
      if ((filename = MAPIFindUserProp(&(TNEF.MapiProperties),
                                       PROP_TAG(PT_SYSTIME, 0x8517))) == MAPI_UNDEFINED) {
        filename = NULL;
      }
    }
    if (filename != NULL) {
      fprintf(fptr, "DTEND:");
      MAPISysTimetoDTR(filename->data, &thedate);
      fprintf(fptr, "%04i%02i%02iT%02i%02i%02iZ\n",
              thedate.wYear, thedate.wMonth, thedate.wDay,
              thedate.wHour, thedate.wMinute, thedate.wSecond);
    }
    // Date Stamp
    filename = NULL;
    if ((filename = MAPIFindUserProp(&(TNEF.MapiProperties),
                                     PROP_TAG(PT_SYSTIME, 0x8202))) == MAPI_UNDEFINED) {
      if ((filename = MAPIFindUserProp(&(TNEF.MapiProperties),
                                       PROP_TAG(PT_SYSTIME, 0x001a))) == MAPI_UNDEFINED) {
        filename = NULL;
      }
    }

    if (filename != NULL){
      fprintf(fptr, "DTSTAMP:");
      MAPISysTimetoDTR(filename->data, &thedate);
      fprintf(fptr, "%04i%02i%02iT%02i%02i%02iZ\n",
              thedate.wYear, thedate.wMonth, thedate.wDay,
              thedate.wHour, thedate.wMinute, thedate.wSecond);
    }
    // Class
    filename = NULL;
    if ((filename = MAPIFindUserProp(&(TNEF.MapiProperties),
                                     PROP_TAG(PT_BOOLEAN, 0x8506))) != MAPI_UNDEFINED) {
      ddword_ptr = (DDWORD *)filename->data;
      fprintf(fptr, "CLASS:");
      if (*ddword_ptr == 1) {
        fprintf(fptr, "PRIVATE\n");
      } else {
        fprintf(fptr, "PUBLIC\n");
      }
    }
    // Recurrence
    filename = NULL;
    if ((filename = MAPIFindUserProp(&(TNEF.MapiProperties),
                                     PROP_TAG(PT_BINARY, 0x8216))) != MAPI_UNDEFINED) {
      PrintRrule(fptr, (char*)filename->data, filename->size, TNEF);
    }

    // Wrap it up
    fprintf(fptr, "END:VEVENT\n");
    fprintf(fptr, "END:VCALENDAR\n");
    fclose(fptr);
  }
}