Changeset 31718


Ignore:
Timestamp:
Mar 21, 2017, 12:55:19 AM (2 months ago)
Author:
brainslayer
Message:

remove duplicated code

Location:
src/router
Files:
11 edited

Legend:

Unmodified
Added
Removed
  • src/router/httpd/modules/base.c

    r31699 r31718  
    12991299}
    13001300
    1301 static char *getdisc(void)      // works only for squashfs
    1302 {
    1303         int i;
    1304         static char ret[4];
    1305         unsigned char *disks[] = { "sda2", "sdb2", "sdc2", "sdd2", "sde2", "sdf2", "sdg2", "sdh2",
    1306                 "sdi2"
    1307         };
    1308         int a;
    1309 
    1310         for (a = 0; a < 10; a++) {
    1311                 for (i = 0; i < 9; i++) {
    1312                         char dev[64];
    1313 
    1314                         sprintf(dev, "/dev/%s", disks[i]);
    1315                         FILE *in = fopen(dev, "rb");
    1316 
    1317                         if (in == NULL)
    1318                                 goto skip;
    1319                         // exist, skipping
    1320                         char buf[4];
    1321 
    1322                         fread(buf, 4, 1, in);
    1323                         if ((buf[0] == 't' && buf[1] == 'q' && buf[2] == 's' && buf[3] == 'h')
    1324                             || (buf[0] == 'h' && buf[1] == 's' && buf[2] == 'q' && buf[3] == 't')
    1325                             || (buf[0] == 'h' && buf[1] == 's' && buf[2] == 'q' && buf[3] == 's')) {
    1326                                 fclose(in);
    1327                                 // filesystem detected
    1328                                 fprintf(stderr, "file system detected at %s\n", disks[i]);
    1329                                 strncpy(ret, disks[i], 3);
    1330                                 return ret;
    1331                         }
    1332 
    1333                         fclose(in);
    1334                       skip:;
    1335                 }
    1336                 sleep(1);
    1337         }
    1338         return NULL;
    1339 }
    1340 
    13411301static int apply_cgi(webs_t wp, char_t * urlPrefix, char_t * webDir, int arg, char_t * url, char_t * path, char_t * query)
    13421302{
  • src/router/httpd/modules/upgrade_x86.c

    r31699 r31718  
    3434#define CODE_PATTERN_ERROR 9999
    3535static int upgrade_ret;
    36 
    37 static char *getdisc(void)      // works only for squashfs
    38 {
    39         int i;
    40         static char ret[8];
    41         unsigned char *disks[] = { "sda2", "sdb2", "sdc2", "sdd2", "sde2", "sdf2", "sdg2", "sdh2",
    42                 "sdi2", "mmcblk0p2"
    43         };
    44         for (i = 0; i < 10; i++) {
    45                 char dev[64];
    46 
    47                 sprintf(dev, "/dev/%s", disks[i]);
    48                 FILE *in = fopen(dev, "rb");
    49 
    50                 if (in == NULL)
    51                         continue;       // no second partition or disc does not
    52                 // exist, skipping
    53                 char buf[4];
    54 
    55                 fread(buf, 4, 1, in);
    56                 if ((buf[0] == 't' && buf[1] == 'q' && buf[2] == 's' && buf[3] == 'h')
    57                     || (buf[0] == 'h' && buf[1] == 's' && buf[2] == 'q' && buf[3] == 't')
    58                     || (buf[0] == 'h' && buf[1] == 's' && buf[2] == 'q' && buf[3] == 's')) {
    59                         fclose(in);
    60                         // filesystem detected
    61                         if (strlen(disks[i]) == 4)
    62                                 strncpy(ret, disks[i], 3);
    63                         else
    64                                 strncpy(ret, disks[i], 7);
    65                         return ret;
    66                 }
    67                 fclose(in);
    68         }
    69         return NULL;
    70 }
    7136
    7237void
  • src/router/libutils/mac80211info.c

    r31563 r31718  
    11201120        {.channel = 2,.freq = 60480,.max_eirp = 40,.hw_eirp = 40},
    11211121        {.channel = 3,.freq = 62640,.max_eirp = 40,.hw_eirp = 40},
    1122 //      {.channel = 4,.freq = 64800,.max_eirp = 40,.hw_eirp = 40},
     1122//      {.channel = 4,.freq = 64800,.max_eirp = 40,.hw_eirp = 40},
    11231123        {.channel = -1,.freq = -1,.max_eirp = -1,.hw_eirp = -1},
    11241124};
  • src/router/libutils/utils.c

    r31491 r31718  
    81448144}
    81458145#endif
     8146
     8147#if defined(HAVE_X86) || defined(HAVE_RB600) || defined(HAVE_EROUTER) && !defined(HAVE_WDR4900)
     8148char *getdisc(void)             // works only for squashfs
     8149{
     8150        int i;
     8151        static char ret[8];
     8152        char *disks[] = { "sda2", "sdb2", "sdc2", "sdd2", "sde2", "sdf2", "sdg2", "sdh2",
     8153                "sdi2", "mmcblk0p2"
     8154        };
     8155        for (i = 0; i < 9; i++) {
     8156                char dev[64];
     8157
     8158                sprintf(dev, "/dev/%s", disks[i]);
     8159                FILE *in = fopen(dev, "rb");
     8160
     8161                if (in == NULL)
     8162                        continue;       // no second partition or disc does not
     8163                // exist, skipping
     8164                char buf[4];
     8165
     8166                fread(buf, 4, 1, in);
     8167                if ((buf[0] == 't' && buf[1] == 'q' && buf[2] == 's' && buf[3] == 'h')
     8168                    || (buf[0] == 'h' && buf[1] == 's' && buf[2] == 'q' && buf[3] == 't')
     8169                    || (buf[0] == 'h' && buf[1] == 's' && buf[2] == 'q' && buf[3] == 's')) {
     8170                        fclose(in);
     8171                        // filesystem detected
     8172                        memset(ret, 0, 8);
     8173                        if (strlen(disks[i]) == 4)
     8174                                strncpy(ret, disks[i], 3);
     8175                        else
     8176                                strncpy(ret, disks[i], 7);
     8177                        return ret;
     8178                }
     8179                fclose(in);
     8180        }
     8181        return NULL;
     8182}
     8183#endif
  • src/router/libutils/wl.c

    r31679 r31718  
    11481148        if (is_ath9k(ifname)) {
    11491149                char physical[32];
    1150                 memset(physical,0,sizeof(physical));
     1150                memset(physical, 0, sizeof(physical));
    11511151                strncpy(physical, ifname, 4);
    11521152                if (nvram_nmatch("b-only", "%s_net_mode", physical))
  • src/router/services/services/igmp.c

    r31705 r31718  
    4040        if (nvram_match("wan_proto", "disabled") || !strlen(get_wan_face()))    // todo: add upstream
    4141                return;
    42        
     42
    4343        FILE *fp = fopen("/tmp/igmpproxy.conf", "wb");
    4444
  • src/router/services/services/usb_hotplug.c

    r31698 r31718  
    2727#define DUMPFILE        "/tmp/disktype.dump"
    2828#define DUMPFILE_PART   "/tmp/parttype.dump"
    29 #if defined(HAVE_X86) || defined(HAVE_RB600) && !defined(HAVE_WDR4900)
    30 static char *getdisc(void)      // works only for squashfs
    31 {
    32         int i;
    33         static char ret[4];
    34         char *disks[] = { "sda2", "sdb2", "sdc2", "sdd2", "sde2", "sdf2", "sdg2", "sdh2",
    35                 "sdi2"
    36         };
    37         for (i = 0; i < 9; i++) {
    38                 char dev[64];
    39 
    40                 sprintf(dev, "/dev/%s", disks[i]);
    41                 FILE *in = fopen(dev, "rb");
    42 
    43                 if (in == NULL)
    44                         continue;       // no second partition or disc does not
    45                 // exist, skipping
    46                 char buf[4];
    47 
    48                 fread(buf, 4, 1, in);
    49                 if ((buf[0] == 't' && buf[1] == 'q' && buf[2] == 's' && buf[3] == 'h')
    50                     || (buf[0] == 'h' && buf[1] == 's' && buf[2] == 'q' && buf[3] == 't')
    51                     || (buf[0] == 'h' && buf[1] == 's' && buf[2] == 'q' && buf[3] == 's')) {
    52                         fclose(in);
    53                         // filesystem detected
    54                         strncpy(ret, disks[i], 3);
    55                         return ret;
    56                 }
    57                 fclose(in);
    58         }
    59         return NULL;
    60 }
    61 #endif
     29
    6230void stop_hotplug_usb(void)
    6331{
  • src/router/services/sysinit/devinit.c

    r31698 r31718  
    5252#include <linux/sockios.h>
    5353
    54 #if defined(HAVE_X86) || defined(HAVE_RB600)
    55 
    56 static char *getdisc(void)      // works only for squashfs
    57 {
    58         int i;
    59         static char ret[4];
    60         unsigned char *disks[] = { "sda2", "sdb2", "sdc2", "sdd2", "sde2", "sdf2", "sdg2", "sdh2",
    61                 "sdi2"
    62         };
    63         int a;
    64 
    65         for (a = 0; a < 10; a++) {
    66                 for (i = 0; i < 9; i++) {
    67                         char dev[64];
    68 
    69                         sprintf(dev, "/dev/%s", disks[i]);
    70                         FILE *in = fopen(dev, "rb");
    71 
    72                         if (in == NULL)
    73                                 goto skip;
    74                         // exist, skipping
    75                         char buf[4];
    76 
    77                         fread(buf, 4, 1, in);
    78                         if ((buf[0] == 't' && buf[1] == 'q' && buf[2] == 's' && buf[3] == 'h')
    79                             || (buf[0] == 'h' && buf[1] == 's' && buf[2] == 'q' && buf[3] == 't')
    80                             || (buf[0] == 'h' && buf[1] == 's' && buf[2] == 'q' && buf[3] == 's')) {
    81                                 fclose(in);
    82                                 // filesystem detected
    83                                 fprintf(stderr, "file system detected at %s\n", disks[i]);
    84                                 strncpy(ret, disks[i], 3);
    85                                 return ret;
    86                         }
    87 
    88                         fclose(in);
    89                       skip:;
    90                 }
    91                 sleep(1);
    92         }
    93         return NULL;
    94 }
    95 
    96 #endif
    9754void start_devinit(void)
    9855{
  • src/router/services/sysinit/sysinit-rb600.c

    r31698 r31718  
    5555#include <cymac.h>
    5656#include "devices/wireless.c"
    57 
    58 static char *getdisc(void)      // works only for squashfs
    59 {
    60         int i;
    61         static char ret[4];
    62         char *disks[] = { "sda2", "sdb2", "sdc2", "sdd2", "sde2", "sdf2", "sdg2", "sdh2",
    63                 "sdi2"
    64         };
    65         for (i = 0; i < 9; i++) {
    66                 char dev[64];
    67 
    68                 sprintf(dev, "/dev/%s", disks[i]);
    69                 FILE *in = fopen(dev, "rb");
    70 
    71                 if (in == NULL)
    72                         continue;       // no second partition or disc does not
    73                 // exist, skipping
    74                 char buf[4];
    75 
    76                 fread(buf, 4, 1, in);
    77                 if ((buf[0] == 't' && buf[1] == 'q' && buf[2] == 's' && buf[3] == 'h')
    78                     || (buf[0] == 'h' && buf[1] == 's' && buf[2] == 'q' && buf[3] == 't')
    79                     || (buf[0] == 'h' && buf[1] == 's' && buf[2] == 'q' && buf[3] == 's')) {
    80                         fclose(in);
    81                         ret[3] = 0;
    82                         // filesystem detected
    83                         strncpy(ret, disks[i], 3);
    84                         return ret;
    85                 }
    86 
    87                 fclose(in);
    88         }
    89         return NULL;
    90 }
    9157
    9258void start_sysinit(void)
  • src/router/services/sysinit/sysinit-x86.c

    r31698 r31718  
    5656
    5757#define sys_reboot() eval("sync"); eval("/bin/umount","-a","-r"); eval("event","3","1","15")
    58 
    59 static char *getdisc(void)      // works only for squashfs
    60 {
    61         int i;
    62         static char ret[4];
    63         char *disks[] = { "sda2", "sdb2", "sdc2", "sdd2", "sde2", "sdf2", "sdg2", "sdh2",
    64                 "sdi2"
    65         };
    66         for (i = 0; i < 9; i++) {
    67                 char dev[64];
    68 
    69                 sprintf(dev, "/dev/%s", disks[i]);
    70                 FILE *in = fopen(dev, "rb");
    71 
    72                 if (in == NULL)
    73                         continue;       // no second partition or disc does not
    74                 // exist, skipping
    75                 char buf[4];
    76 
    77                 fread(buf, 4, 1, in);
    78                 if ((buf[0] == 't' && buf[1] == 'q' && buf[2] == 's' && buf[3] == 'h')
    79                     || (buf[0] == 'h' && buf[1] == 's' && buf[2] == 'q' && buf[3] == 't')
    80                     || (buf[0] == 'h' && buf[1] == 's' && buf[2] == 'q' && buf[3] == 's')) {
    81                         fclose(in);
    82                         ret[3] = 0;
    83                         // filesystem detected
    84                         strncpy(ret, disks[i], 3);
    85                         return ret;
    86                 }
    87                 fclose(in);
    88         }
    89         return NULL;
    90 }
    9158
    9259void start_sysinit(void)
  • src/router/shared/utils.h

    r31360 r31718  
    11211121
    11221122int endswith(char *str, char *cmp);
    1123 
     1123char *getdisc(void);
    11241124int isListed(char *listname, char *value);
    11251125void addList(char *listname, char *value);
Note: See TracChangeset for help on using the changeset viewer.