[BACK]Return to set.c CVS log [TXT][DIR] Up to [cvs.NetBSD.org] / src / sbin / gpt

Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.

Diff for /src/sbin/gpt/set.c between version 1.14 and 1.14.2.1

version 1.14, 2018/03/19 09:06:20 version 1.14.2.1, 2019/06/10 22:05:33
Line 52  __RCSID("$NetBSD$");
Line 52  __RCSID("$NetBSD$");
 static int cmd_set(gpt_t, int, char *[]);  static int cmd_set(gpt_t, int, char *[]);
   
 static const char *sethelp[] = {  static const char *sethelp[] = {
         "-a attribute -i index",          "-a attribute [-i index] [-b startsec]",
           "-N [-i index] [-b startsec]",
         "-l",          "-l",
 };  };
   
Line 70  cmd_set(gpt_t gpt, int argc, char *argv[
Line 71  cmd_set(gpt_t gpt, int argc, char *argv[
 {  {
         int ch;          int ch;
         unsigned int entry = 0;          unsigned int entry = 0;
         uint64_t attributes = 0;          uint64_t attributes = 0, clear = 0;
           off_t start = 0;
           map_t m;
   
         while ((ch = getopt(argc, argv, "a:i:l")) != -1) {          while ((ch = getopt(argc, argv, "a:b:i:lN")) != -1) {
                 switch(ch) {                  switch(ch) {
                 case 'a':                  case 'a':
                         if (gpt == NULL || gpt_attr_get(gpt, &attributes) == -1)                          if (gpt == NULL || gpt_attr_get(gpt, &attributes) == -1)
                                 return usage();                                  return usage();
                         break;                          break;
                   case 'b':
                           if (gpt == NULL || gpt_human_get(gpt, &start) == -1)
                                   return usage();
                           break;
                 case 'i':                  case 'i':
                         if (gpt == NULL || gpt_uint_get(gpt, &entry) == -1)                          if (gpt == NULL || gpt_uint_get(gpt, &entry) == -1)
                                 return usage();                                  return usage();
Line 85  cmd_set(gpt_t gpt, int argc, char *argv[
Line 92  cmd_set(gpt_t gpt, int argc, char *argv[
                 case 'l':                  case 'l':
                         gpt_attr_help("\t");                          gpt_attr_help("\t");
                         return 0;                          return 0;
                   case 'N':
                           clear = ~clear;
                           break;
                 default:                  default:
                         return usage();                          return usage();
                 }                  }
         }          }
   
         if (gpt == NULL || argc != optind)          if (start > 0) {
                   for (m = map_first(gpt); m != NULL; m = m->map_next) {
                           if (m->map_type != MAP_TYPE_GPT_PART ||
                               m->map_index < 1)
                                   continue;
                           if (start != m->map_start)
                                   continue;
                           entry = m->map_index;
                           break;
                   }
           }
   
           if (gpt == NULL || argc != optind || (attributes != 0 && clear != 0))
                 return usage();                  return usage();
   
         return gpt_attr_update(gpt, entry, attributes, 0);          return gpt_attr_update(gpt, entry, attributes, clear);
 }  }

Legend:
Removed from v.1.14  
changed lines
  Added in v.1.14.2.1

CVSweb <webmaster@jp.NetBSD.org>