From: Francesco Cosoleto Date: Thu, 15 Dec 2011 19:02:39 +0000 (+0100) Subject: fdisk: move code for renaming SGI bootfile to SGI module X-Git-Tag: v2.21-rc1~123 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=883c5f715833b32137eac78f63b3517e9d1bda17;p=thirdparty%2Futil-linux.git fdisk: move code for renaming SGI bootfile to SGI module This moves the code for renaming SGI bootfile from command_prompt() to sgi_set_bootfilename() function. Signed-off-by: Francesco Cosoleto --- diff --git a/fdisk/fdisk.c b/fdisk/fdisk.c index a23f45ee90..1a4c823ae7 100644 --- a/fdisk/fdisk.c +++ b/fdisk/fdisk.c @@ -2906,15 +2906,9 @@ static void command_prompt(void) unknown_command(c); break; case 'b': - if (disklabel == SGI_LABEL) { - printf(_("\nThe current boot file is: %s\n"), - sgi_get_bootfile()); - if (read_chars(_("Please enter the name of the " - "new boot file: ")) == '\n') - printf(_("Boot file unchanged\n")); - else - sgi_set_bootfile(line_ptr); - } else if (disklabel == DOS_LABEL) { + if (disklabel == SGI_LABEL) + sgi_set_bootfile(); + else if (disklabel == DOS_LABEL) { disklabel = OSF_LABEL; bsd_command_prompt(); disklabel = DOS_LABEL; diff --git a/fdisk/fdisksgilabel.c b/fdisk/fdisksgilabel.c index 002688a4cc..b432b1344c 100644 --- a/fdisk/fdisksgilabel.c +++ b/fdisk/fdisksgilabel.c @@ -316,20 +316,21 @@ sgi_check_bootfile(const char* aFile) { return 0; /* filename did not change */ } -const char * -sgi_get_bootfile(void) { - return (char *) sgilabel->boot_file; -} - void -sgi_set_bootfile(const char* aFile) { +sgi_set_bootfile(void) +{ + printf(_("\nThe current boot file is: %s\n"), sgilabel->boot_file); + if (read_chars(_("Please enter the name of the new boot file: ")) == '\n') { + printf(_("Boot file unchanged\n")); + return; + } - if (sgi_check_bootfile(aFile)) { + if (sgi_check_bootfile(line_ptr)) { size_t i = 0; while (i < 16) { - if ((aFile[i] != '\n') /* in principle caught again by next line */ - && (strlen(aFile) > i)) - sgilabel->boot_file[i] = aFile[i]; + if ((line_ptr[i] != '\n') /* in principle caught again by next line */ + && (strlen(line_ptr) > i)) + sgilabel->boot_file[i] = line_ptr[i]; else sgilabel->boot_file[i] = 0; i++; diff --git a/fdisk/fdisksgilabel.h b/fdisk/fdisksgilabel.h index 1c47bb4742..255fe9cfa3 100644 --- a/fdisk/fdisksgilabel.h +++ b/fdisk/fdisksgilabel.h @@ -133,7 +133,6 @@ extern void sgi_set_bootpartition( int i ); extern void sgi_set_swappartition( int i ); extern int sgi_get_bootpartition( void ); extern int sgi_get_swappartition( void ); -extern void sgi_set_bootfile( const char* aFile ); -extern const char *sgi_get_bootfile( void ); +extern void sgi_set_bootfile(void); #endif /* FDISK_SGI_LABEL_H */