static grub_err_t grub_ls_list_files (char *dirname, int longlist, int all, int human) { char *device_name; grub_fs_t fs; const char *path; grub_device_t dev; auto int print_files (const char *filename, const struct grub_dirhook_info *info); auto int print_files_long (const char *filename, const struct grub_dirhook_info *info); int print_files (const char *filename, const struct grub_dirhook_info *info) { if (all || filename[0] != '.') grub_printf ("%s%s ", filename, info->dir ? "/" : ""); return 0; } int print_files_long (const char *filename, const struct grub_dirhook_info *info) { if ((! all) && (filename[0] == '.')) return 0; if (! info->dir) { grub_file_t file; char *pathname; if (dirname[grub_strlen (dirname) - 1] == '/') pathname = grub_xasprintf ("%s%s", dirname, filename); else pathname = grub_xasprintf ("%s/%s", dirname, filename); if (!pathname) return 1; /* XXX: For ext2fs symlinks are detected as files while they should be reported as directories. */ grub_file_filter_disable_compression (); file = grub_file_open (pathname); if (! file) { grub_errno = 0; grub_free (pathname); return 0; } if (! human) grub_printf ("%-12llu", (unsigned long long) file->size); else { grub_uint64_t fsize = file->size * 100ULL; grub_uint64_t fsz = file->size; int units = 0; char buf[20]; while (fsz / 1024) { fsize = (fsize + 512) / 1024; fsz /= 1024; units++; } if (units) { grub_uint64_t whole, fraction; whole = grub_divmod64 (fsize, 100, &fraction); grub_snprintf (buf, sizeof (buf), "%" PRIuGRUB_UINT64_T ".%02" PRIuGRUB_UINT64_T "%c", whole, fraction, grub_human_sizes[units]); grub_printf ("%-12s", buf); } else grub_printf ("%-12llu", (unsigned long long) file->size); } grub_file_close (file); grub_free (pathname); } else grub_printf ("%-12s", _("DIR")); if (info->mtimeset) { struct grub_datetime datetime; grub_unixtime2datetime (info->mtime, &datetime); if (human) grub_printf (" %d-%02d-%02d %02d:%02d:%02d %-11s ", datetime.year, datetime.month, datetime.day, datetime.hour, datetime.minute, datetime.second, grub_get_weekday_name (&datetime)); else grub_printf (" %04d%02d%02d%02d%02d%02d ", datetime.year, datetime.month, datetime.day, datetime.hour, datetime.minute, datetime.second); } grub_printf ("%s%s\n", filename, info->dir ? "/" : ""); return 0; } device_name = grub_file_get_device_name (dirname); dev = grub_device_open (device_name); if (! dev) goto fail; fs = grub_fs_probe (dev); path = grub_strchr (dirname, ')'); if (! path) path = dirname; else path++; if (! path && ! device_name) { grub_error (GRUB_ERR_BAD_ARGUMENT, "invalid argument"); goto fail; } if (! *path) { if (grub_errno == GRUB_ERR_UNKNOWN_FS) grub_errno = GRUB_ERR_NONE; grub_normal_print_device_info (device_name); } else if (fs) { if (longlist) (fs->dir) (dev, path, print_files_long); else (fs->dir) (dev, path, print_files); if (grub_errno == GRUB_ERR_BAD_FILE_TYPE && path[grub_strlen (path) - 1] != '/') { /* PATH might be a regular file. */ char *p; grub_file_t file; struct grub_dirhook_info info; grub_errno = 0; grub_file_filter_disable_compression (); file = grub_file_open (dirname); if (! file) goto fail; grub_file_close (file); p = grub_strrchr (dirname, '/') + 1; dirname = grub_strndup (dirname, p - dirname); if (! dirname) goto fail; all = 1; grub_memset (&info, 0, sizeof (info)); if (longlist) print_files_long (p, &info); else print_files (p, &info); grub_free (dirname); } if (grub_errno == GRUB_ERR_NONE) grub_xputs ("\n"); grub_refresh (); } fail: if (dev) grub_device_close (dev); grub_free (device_name); return 0; }
int main(int argc, char **argv) { int i; bool no_filenames = true; QLoggingCategory::setFilterRules(QStringLiteral("qt.bluetooth* = true")); QApplication *application = new QApplication(argc, argv); (void)application; QStringList files; QStringList importedFiles; QStringList arguments = QCoreApplication::arguments(); bool dedicated_console = arguments.length() > 1 && (arguments.at(1) == QString("--win32console")); subsurface_console_init(dedicated_console); const char *default_directory = system_default_directory(); const char *default_filename = system_default_filename(); subsurface_mkdir(default_directory); for (i = 1; i < arguments.length(); i++) { QString a = arguments.at(i); if (a.isEmpty()) continue; if (a.at(0) == '-') { parse_argument(a.toLocal8Bit().data()); continue; } if (imported) { importedFiles.push_back(a); } else { no_filenames = false; files.push_back(a); } } #if !LIBGIT2_VER_MAJOR && LIBGIT2_VER_MINOR < 22 git_threads_init(); #else git_libgit2_init(); #endif setup_system_prefs(); copy_prefs(&default_prefs, &prefs); fill_profile_color(); parse_xml_init(); taglist_init_global(); init_ui(); if (no_filenames) { if (prefs.default_file_behavior == LOCAL_DEFAULT_FILE) { QString defaultFile(prefs.default_filename); if (!defaultFile.isEmpty()) files.push_back(QString(prefs.default_filename)); } else if (prefs.default_file_behavior == CLOUD_DEFAULT_FILE) { QString cloudURL; if (getCloudURL(cloudURL) == 0) files.push_back(cloudURL); } } MainWindow *m = MainWindow::instance(); filesOnCommandLine = !files.isEmpty() || !importedFiles.isEmpty(); m->loadFiles(files); m->importFiles(importedFiles); // in case something has gone wrong make sure we show the error message m->showError(); // now let's set up some connections QObject::connect(m->graphics(), &ProfileWidget2::enableToolbar ,m, &MainWindow::setEnabledToolbar, Qt::AutoConnection); QObject::connect(m->graphics(), &ProfileWidget2::showError, m, &MainWindow::showError, Qt::AutoConnection); QObject::connect(m->graphics(), &ProfileWidget2::disableShortcuts, m, &MainWindow::disableShortcuts, Qt::AutoConnection); QObject::connect(m->graphics(), &ProfileWidget2::enableShortcuts, m, &MainWindow::enableShortcuts, Qt::AutoConnection); QObject::connect(m->graphics(), &ProfileWidget2::refreshDisplay, m, &MainWindow::refreshDisplay, Qt::AutoConnection); QObject::connect(m->graphics(), &ProfileWidget2::updateDiveInfo, m->information(), &MainTab::updateDiveInfo, Qt::AutoConnection); QObject::connect(m->graphics(), &ProfileWidget2::editCurrentDive, m, &MainWindow::editCurrentDive, Qt::AutoConnection); QObject::connect(PreferencesDialog::instance(), SIGNAL(settingsChanged()), m->graphics(), SLOT(settingsChanged())); if (verbose > 0) print_files(); if (!quit) run_ui(); exit_ui(); taglist_free(g_tag_list); parse_xml_exit(); free((void *)default_directory); free((void *)default_filename); subsurface_console_exit(); free_prefs(); return 0; }
int main(int argc, char **argv) { int i; bool no_filenames = true; QLoggingCategory::setFilterRules(QStringLiteral("qt.bluetooth* = true")); QApplication *application = new QApplication(argc, argv); (void)application; QStringList files; QStringList importedFiles; QStringList arguments = QCoreApplication::arguments(); bool win32_log = arguments.length() > 1 && (arguments.at(1) == QString("--win32log")); if (win32_log) { subsurface_console_init(true, true); } else { bool dedicated_console = arguments.length() > 1 && (arguments.at(1) == QString("--win32console")); subsurface_console_init(dedicated_console, false); } const char *default_directory = system_default_directory(); const char *default_filename = system_default_filename(); subsurface_mkdir(default_directory); for (i = 1; i < arguments.length(); i++) { QString a = arguments.at(i); if (a.isEmpty()) continue; if (a.at(0) == '-') { parse_argument(a.toLocal8Bit().data()); continue; } if (imported) { importedFiles.push_back(a); } else { no_filenames = false; files.push_back(a); } } if (subsurface_user_is_root() && !force_root) { printf("You are running Subsurface as root. This is not recommended.\n"); printf("If you insist to do so, run with option --allow_run_as_root.\n"); exit(0); } #if !LIBGIT2_VER_MAJOR && LIBGIT2_VER_MINOR < 22 git_threads_init(); #else git_libgit2_init(); #endif /* * Initialize the random number generator - not really secure as * this is based only on current time, but it should not matter * that much in our context. Moreover this is better than * the constant numbers we used to get before. */ qsrand(time(NULL)); setup_system_prefs(); copy_prefs(&default_prefs, &prefs); fill_profile_color(); fill_computer_list(); parse_xml_init(); taglist_init_global(); init_ui(); if (no_filenames) { if (prefs.default_file_behavior == LOCAL_DEFAULT_FILE) { QString defaultFile(prefs.default_filename); if (!defaultFile.isEmpty()) files.push_back(QString(prefs.default_filename)); } else if (prefs.default_file_behavior == CLOUD_DEFAULT_FILE) { QString cloudURL; if (getCloudURL(cloudURL) == 0) files.push_back(cloudURL); } } MainWindow *m = MainWindow::instance(); filesOnCommandLine = !files.isEmpty() || !importedFiles.isEmpty(); m->loadFiles(files); m->importFiles(importedFiles); // in case something has gone wrong make sure we show the error message m->showError(); if (verbose > 0) { print_files(); printf("%s\n", QStringLiteral("build with Qt Version %1, runtime from Qt Version %2").arg(QT_VERSION_STR).arg(qVersion()).toUtf8().data()); } if (!quit) run_ui(); exit_ui(); taglist_free(g_tag_list); parse_xml_exit(); free((void *)default_directory); free((void *)default_filename); subsurface_console_exit(); free_prefs(); return 0; }
int main(int argc, char **argv) { int i; bool no_filenames = true; QLoggingCategory::setFilterRules(QStringLiteral("qt.bluetooth* = true")); QApplication *application = new QApplication(argc, argv); QStringList files; QStringList importedFiles; QStringList arguments = QCoreApplication::arguments(); bool dedicated_console = arguments.length() > 1 && (arguments.at(1) == QString("--win32console")); subsurface_console_init(dedicated_console); const char *default_directory = system_default_directory(); const char *default_filename = system_default_filename(); subsurface_mkdir(default_directory); for (i = 1; i < arguments.length(); i++) { QString a = arguments.at(i); if (a.isEmpty()) continue; if (a.at(0) == '-') { parse_argument(a.toLocal8Bit().data()); continue; } if (imported) { importedFiles.push_back(a); } else { no_filenames = false; files.push_back(a); } } #if !LIBGIT2_VER_MAJOR && LIBGIT2_VER_MINOR < 22 git_threads_init(); #else git_libgit2_init(); #endif setup_system_prefs(); copy_prefs(&default_prefs, &prefs); fill_profile_color(); parse_xml_init(); taglist_init_global(); init_ui(); if (no_filenames) { if (prefs.default_file_behavior == LOCAL_DEFAULT_FILE) { QString defaultFile(prefs.default_filename); if (!defaultFile.isEmpty()) files.push_back(QString(prefs.default_filename)); } else if (prefs.default_file_behavior == CLOUD_DEFAULT_FILE) { QString cloudURL; if (getCloudURL(cloudURL) == 0) files.push_back(cloudURL); } } MainWindow *m = MainWindow::instance(); m->setLoadedWithFiles(!files.isEmpty() || !importedFiles.isEmpty()); m->loadFiles(files); m->importFiles(importedFiles); // in case something has gone wrong make sure we show the error message m->showError(); if (verbose > 0) print_files(); if (!quit) run_ui(); exit_ui(); taglist_free(g_tag_list); parse_xml_exit(); free((void *)default_directory); free((void *)default_filename); subsurface_console_exit(); free_prefs(); return 0; }
int main(int argc, char** argv) { /* argv[1] = path to folder argv[2] = name of the generated file / application argv[3] = -sw or -hw argv[4] = no of master fsl argv[5] = no of slave fsl argv[6] = number of hardware sources argv[7] .. argv[i1] = names of hardware sources argv[i1 + 1] = number of hardware headers argv[i1+2] .. argv[i2] = names of hardware headers argv[i2+1] = number of software sources argv[i2+2] .. argv[i3] = names of software sources argv[i3 + 1] = number of software headers argv[i3+2] .. argv[i4] = names of software headers Ex. generate_proj "/home/szekeres/tutorials/HelloWorld_MicroBlaze6/" "HelloWorld" 1 "HelloWorld_hw.c" 0 2 "HelloWorld.c" "HelloWorld_sw.c" 0 */ FILE *proj; int arg_no; char path[1024]; strcpy(path, argv[1]); strcat(path, argv[2]); strcat(path, ".icProj"); proj = fopen(path, "w"); fprintf(proj,"%s","$Version \"2.10.b.1\"\n" "$Option \"GenerateMakefile=1\"\n" "$Option \"MakeDebug=1\"\n" "$Option \"DefaultMakeFile=HelloWorld.mak\"\n" "$Option \"DefaultMakeGenerateTarget=build\"\n" "$Option \"DefaultMakeCleanTarget=clean\"\n" "$Option \"DefaultMakeExportHWTarget=export_hardware\"\n" "$Option \"DefaultMakeExportSWTarget=export_software\"\n" "$Option \"HWBuildSrcFiles=" ); arg_no = print_files(proj, 6, argv); fprintf(proj, "%s", "$Option \"HWBuildIncFiles="); arg_no = print_files(proj, arg_no, argv); fprintf(proj, "%s", "$Option \"SWBuildSrcFiles="); arg_no = print_files(proj, arg_no, argv); fprintf(proj, "%s", "$Option \"SWBuildIncFiles="); arg_no = print_files(proj, arg_no, argv); fprintf(proj, "%s", "$Option \"ExeBuildSrcFiles=\"\n" "$Option \"ExeBuildIncFiles=\"\n" "$Option \"ExeBuildLibFiles=\"\n" "$Option \"ExeBuildCCOpts=\"\n" "$Option \"LaunchUpdateExe=1\"\n" "$Option \"LaunchUpdateHwExe=1\"\n" "$Option \"LaunchMonitor=0\"\n" "$Option \"SimulateExe=HelloWorld.exe\"\n" "$Option \"SimulateHwExe=\"\n" "$Option \"SimulateArgs=\"\n" "$Option \"SimulateDir=\"\n" "$Option \"GenCodeConstProp=0\"\n" "$Option \"GenCodeScalarize=0\"\n" "$Option \"GenCodeDualClocks=0\"\n" "$Option \"GenCodeStdLogic=0\"\n" "$Option \"GenCodeCoPort=1\"\n" "$Option \"GenCodeFloat=0\"\n" "$Option \"GenCodeFloatPipelined=0\"\n" "$Option \"GenCodeFloatDouble=0\"\n" "$Option \"GenCodeLoopInvariants=0\"\n" "$Option \"GenCodeFamily=Xilinx MicroBlaze FSL (VHDL)\"\n" "$Option \"GenCodeArchID=xilinx_mb_fsl\"\n" "$Option \"GenCodeHWExportDir=EDK\"\n" "$Option \"GenCodeHWTargetDir=hw\"\n" "$Option \"GenCodeSWExportDir=EDK\"\n" "$Option \"GenCodeSWTargetDir=sw\"\n" "$Option \"GenCodePFlagsOpt=\"\n" "$Option \"UseExternalMakeWin=0\"\n" //"$Files\n" //"($Application \"HelloWorld\"\n" //" ($Sourcefiles\n" //" ($Module \".\\HelloWorld_sw.c\" \"\"\n" //" $Module \".\\HelloWorld_hw.c\" \"\"\n" //" $Module \".\\HelloWorld.c\" \"\"\n" //" )\n" //" $Headerfiles\n" //" $Projectfiles\n" //" $Docfiles\n" //" ($Module \".\\Readme.htm\" \"\"\n" //" )\n" //" $Otherfiles\n" //" )\n" //")\n" ); fclose(proj); return 0; }
char *select_file(char *path,enum LOAD_FILE_TYPES kind) { struct fichero *filelist,*fl2; unsigned char fin,read,*salida; int bucle,ancho,numitems,selected,from,longitud; salida=(unsigned char *)malloc(MAX_PATH_LENGTH); salida[0]=0; ancho=screen->w; fin=1; read=1; selected=0; from=0; numitems=0; filelist=NULL; do { if(read) { filelist=read_directory(path,kind); read=0; fl2=filelist; numitems=0; while(fl2!=NULL) { // counts the number of items fl2=fl2->next; numitems++; } selected=0; from=0; } print_files(filelist,from,selected); switch(wait_key()) { case SDLK_ESCAPE: // to exit the help fin=0; break; case SDLK_UP: if(selected>0) { selected--; if(selected<from) from--; } break; case SDLK_DOWN: if(selected<(numitems-1)) { selected++; if(selected>(from+23)) // 23 is the total of items that can be displayed from++; } break; case SDLK_PAGEUP: for(bucle=0;bucle<15;bucle++) if(selected>0) { selected--; if(selected<from) from--; } break; case SDLK_PAGEDOWN: for(bucle=0;bucle<15;bucle++) if(selected<(numitems-1)) { selected++; if(selected>(from+23)) // 23 is the total of items that can be displayed from++; } break; case SDLK_RETURN: fl2=filelist; if(selected!=0) for(bucle=0;bucle<selected;bucle++) fl2=fl2->next; switch(fl2->tipo) { case 0: // select file strcpy(salida,fl2->nombrepath); delete_filelist(filelist); return(salida); // ends returning the filename break; case 1: // change directory strcpy(path,fl2->nombrepath); // new path_taps is namepath delete_filelist(filelist); // frees the memory read=1; // and redisplay all the files break; case 2: // upper directory longitud=strlen(path); if(longitud<2) // there's no upper directory break; if('/'==path[longitud-1]) { // is the char ended in '/' ? path[longitud-1]=0; // eliminated longitud--; } while('/'!=path[longitud-1]) { longitud--; path[longitud]=0; } if(longitud>2) { // it's not the upper directory longitud--; path[longitud]=0; // delete the final '/' } read=1; break; default: break; } break; default: break; } } while(fin); delete_filelist(filelist); return(NULL); }