#include #include #include #include "../helper/locales.h" #include "common.h" #include "message.h" #include "../helper/formats.h" #include "calendar.h" #include "../helper/memory-display.h" #include "../helper/printing.h" #include "../helper/string.h" void GetMMSFolders(int argc UNUSED, char *argv[] UNUSED) { GSM_Error error; GSM_MMSFolders folders; int i; GSM_Init(TRUE); error=GSM_GetMMSFolders(gsm,&folders); Print_Error(error); for (i=0;iBuffer, 1, file->Used, file2) != file->Used) { printf_err(_("Error while saving to file %s!\n"), buff); } else { printf(_("Saved to file %s\n"),buff); } fclose(file2); } for (i=0;i2 && strcasecmp(argv[2],"-save") == 0) num=0; GSM_Init(TRUE); error=GSM_GetMMSFolders(gsm,&folders); Print_Error(error); File.Buffer = NULL; while (1) { error = GSM_GetNextMMSFileInfo(gsm,File.ID_FullName,&FileFolder,start); if (error == ERR_EMPTY) break; Print_Error(error); start = FALSE; printf(_("Folder %s\n"),DecodeUnicodeConsole(folders.Folder[FileFolder-1].Name)); printf(LISTFORMAT "\"%s\"\n", _(" File filesystem ID"),DecodeUnicodeConsole(File.ID_FullName)); if (File.Buffer != NULL) { free(File.Buffer); File.Buffer = NULL; } File.Used = 0; while (TRUE) { error = GSM_GetFilePart(gsm,&File,&Handle,&Size); if (error == ERR_EMPTY) break; Print_Error(error); fprintf(stderr, "\r"); fprintf(stderr, "%s ", _("Reading:")); fprintf(stderr, _("%i percent"), (int)(File.Used * 100 / Size)); } fprintf(stderr, "%c",13); if (GSM_IsPhoneFeatureAvailable(GSM_GetModelInfo(gsm), F_SERIES40_30) && File.Used > 176) { memmove(File.Buffer, File.Buffer + 176, File.Used - 176); File.Used -= 176; File.Buffer = realloc(File.Buffer, File.Used); } DecodeMMSFile(&File,num); if (num != -1) num++; } if (File.Buffer != NULL) free(File.Buffer); GSM_Terminate(); } void ReadMMSFile(int argc, char *argv[]) { GSM_File File; int num = -1; GSM_Error error; File.Buffer = NULL; error = GSM_ReadFile(argv[2], &File); Print_Error(error); if (argc>3 && strcasecmp(argv[3],"-save") == 0) num=0; DecodeMMSFile(&File,num); free(File.Buffer); } /* How should editor hadle tabs in this file? Add editor commands here. * vim: noexpandtab sw=8 ts=8 sts=8: */