[PATCH] strtok --> strsep in framebuffer drivers

From: René Scharfe (l.s.r@web.de)
Date: Sun Oct 21 2001 - 09:25:00 EST


Hi,

here is a patch to eliminate all uses of strtok from the framebuffer
drivers. This is another step towards a strtok-free kernel. ;-)

It applies cleanly against kernels 2.4.13-pre5 and, with a few offsets,
2.4.12-ac3.

This patch is a bit lengthy, but hopefully easy to verify. Err, and I
did NOT test this thing. Maybe it doesn't even compile. That said,
please take a look at it and consider applying. It's not as I could've
made many mistakes after all (hi Rusty! :).

René

diff -ur linux-2.4.13-pre5/drivers/video/acornfb.c
linux-2.4.13-pre5-rs/drivers/video/acornfb.c
--- linux-2.4.13-pre5/drivers/video/acornfb.c Sun Oct 21 13:06:21 2001
+++ linux-2.4.13-pre5-rs/drivers/video/acornfb.c Sun Oct 21 12:33:25 2001
@@ -1528,7 +1528,7 @@
 
         acornfb_init_fbinfo();
 
- for (opt = strtok(options, ","); opt; opt = strtok(NULL, ",")) {
+ while (opt = strsep(&options, ",")) {
                 if (!*opt)
                         continue;
 
diff -ur linux-2.4.13-pre5/drivers/video/amifb.c
linux-2.4.13-pre5-rs/drivers/video/amifb.c
--- linux-2.4.13-pre5/drivers/video/amifb.c Fri Sep 14 01:04:43 2001
+++ linux-2.4.13-pre5-rs/drivers/video/amifb.c Sun Oct 21 12:34:28 2001
@@ -1192,7 +1192,7 @@
         if (!options || !*options)
                 return 0;
 
- for (this_opt = strtok(options, ","); this_opt; this_opt = strtok(NULL,
",")) {
+ while (this_opt = strsep(&options, ",")) {
                 if (!strcmp(this_opt, "inverse")) {
                         amifb_inverse = 1;
                         fb_invert_cmaps();
diff -ur linux-2.4.13-pre5/drivers/video/aty/atyfb_base.c
linux-2.4.13-pre5-rs/drivers/video/aty/atyfb_base.c
--- linux-2.4.13-pre5/drivers/video/aty/atyfb_base.c Fri Sep 14 01:04:43 2001
+++ linux-2.4.13-pre5-rs/drivers/video/aty/atyfb_base.c Sun Oct 21 12:34:56
2001
@@ -2521,8 +2521,7 @@
     if (!options || !*options)
         return 0;
 
- for (this_opt = strtok(options, ","); this_opt;
- this_opt = strtok(NULL, ",")) {
+ while (this_opt = strsep(&options, ",")) {
         if (!strncmp(this_opt, "font:", 5)) {
                 char *p;
                 int i;
diff -ur linux-2.4.13-pre5/drivers/video/aty128fb.c
linux-2.4.13-pre5-rs/drivers/video/aty128fb.c
--- linux-2.4.13-pre5/drivers/video/aty128fb.c Mon Jul 2 23:13:40 2001
+++ linux-2.4.13-pre5-rs/drivers/video/aty128fb.c Sun Oct 21 12:35:26 2001
@@ -1613,8 +1613,7 @@
     if (!options || !*options)
         return 0;
 
- for (this_opt = strtok(options, ","); this_opt;
- this_opt = strtok(NULL, ",")) {
+ while (this_opt = strsep(&options, ",")) {
         if (!strncmp(this_opt, "font:", 5)) {
             char *p;
             int i;
diff -ur linux-2.4.13-pre5/drivers/video/controlfb.c
linux-2.4.13-pre5-rs/drivers/video/controlfb.c
--- linux-2.4.13-pre5/drivers/video/controlfb.c Tue Oct 2 18:10:31 2001
+++ linux-2.4.13-pre5-rs/drivers/video/controlfb.c Sun Oct 21 12:37:34 2001
@@ -1423,8 +1423,7 @@
         if (!options || !*options)
                 return;
 
- for (this_opt = strtok(options, ","); this_opt;
- this_opt = strtok(NULL, ",")) {
+ while (this_opt = strsep(&options, ",")) {
                 if (!strncmp(this_opt, "font:", 5)) {
                         char *p;
                         int i;
diff -ur linux-2.4.13-pre5/drivers/video/cyberfb.c
linux-2.4.13-pre5-rs/drivers/video/cyberfb.c
--- linux-2.4.13-pre5/drivers/video/cyberfb.c Fri Sep 14 01:04:43 2001
+++ linux-2.4.13-pre5-rs/drivers/video/cyberfb.c Sun Oct 21 12:38:01 2001
@@ -1022,8 +1022,7 @@
                 return 0;
         }
 
- for (this_opt = strtok(options, ","); this_opt;
- this_opt = strtok(NULL, ",")) {
+ while (this_opt = strsep(&options, ",")) {
                 if (!strcmp(this_opt, "inverse")) {
                         Cyberfb_inverse = 1;
                         fb_invert_cmaps();
diff -ur linux-2.4.13-pre5/drivers/video/fm2fb.c
linux-2.4.13-pre5-rs/drivers/video/fm2fb.c
--- linux-2.4.13-pre5/drivers/video/fm2fb.c Fri Sep 14 01:04:43 2001
+++ linux-2.4.13-pre5-rs/drivers/video/fm2fb.c Sun Oct 21 12:42:02 2001
@@ -430,8 +430,7 @@
     if (!options || !*options)
         return 0;
 
- for (this_opt = strtok(options, ","); this_opt;
- this_opt = strtok(NULL, ",")) {
+ while (this_opt = strsep(&options, ",")) {
         if (!strncmp(this_opt, "pal", 3))
             fm2fb_mode = FM2FB_MODE_PAL;
         else if (!strncmp(this_opt, "ntsc", 4))
diff -ur linux-2.4.13-pre5/drivers/video/hgafb.c
linux-2.4.13-pre5-rs/drivers/video/hgafb.c
--- linux-2.4.13-pre5/drivers/video/hgafb.c Sun Oct 21 13:06:21 2001
+++ linux-2.4.13-pre5-rs/drivers/video/hgafb.c Sun Oct 21 12:42:57 2001
@@ -795,8 +795,7 @@
         if (!options || !*options)
                 return 0;
 
- for (this_opt = strtok(options, ","); this_opt;
- this_opt = strtok(NULL, ",")) {
+ while (this_opt = strsep(&options, ",")) {
                 if (!strncmp(this_opt, "font:", 5))
                         strcpy(fb_info.fontname, this_opt+5);
         }
diff -ur linux-2.4.13-pre5/drivers/video/igafb.c
linux-2.4.13-pre5-rs/drivers/video/igafb.c
--- linux-2.4.13-pre5/drivers/video/igafb.c Fri Sep 14 01:04:43 2001
+++ linux-2.4.13-pre5-rs/drivers/video/igafb.c Sun Oct 21 12:44:04 2001
@@ -773,8 +773,7 @@
     if (!options || !*options)
         return 0;
 
- for (this_opt = strtok(options, ","); this_opt;
- this_opt = strtok(NULL, ",")) {
+ while (this_opt = strsep(&options, ",")) {
         if (!strncmp(this_opt, "font:", 5)) {
                 char *p;
                 int i;
diff -ur linux-2.4.13-pre5/drivers/video/imsttfb.c
linux-2.4.13-pre5-rs/drivers/video/imsttfb.c
--- linux-2.4.13-pre5/drivers/video/imsttfb.c Fri Sep 14 01:04:43 2001
+++ linux-2.4.13-pre5-rs/drivers/video/imsttfb.c Sun Oct 21 12:44:36 2001
@@ -1977,8 +1977,7 @@
         if (!options || !*options)
                 return 0;
 
- for (this_opt = strtok(options, ","); this_opt;
- this_opt = strtok(NULL, ",")) {
+ while (this_opt = strsep(&options, ",")) {
                 if (!strncmp(this_opt, "font:", 5)) {
                         char *p;
                         int i;
diff -ur linux-2.4.13-pre5/drivers/video/macfb.c
linux-2.4.13-pre5-rs/drivers/video/macfb.c
--- linux-2.4.13-pre5/drivers/video/macfb.c Fri Sep 14 01:04:43 2001
+++ linux-2.4.13-pre5-rs/drivers/video/macfb.c Sun Oct 21 12:45:23 2001
@@ -848,7 +848,7 @@
         if (!options || !*options)
                 return;
         
- for(this_opt=strtok(options,","); this_opt; this_opt=strtok(NULL,",")) {
+ while (this_opt = strsep(&options, ",")) {
                 if (!*this_opt) continue;
                 
                 if (! strcmp(this_opt, "inverse"))
diff -ur linux-2.4.13-pre5/drivers/video/matrox/matroxfb_base.c
linux-2.4.13-pre5-rs/drivers/video/matrox/matroxfb_base.c
--- linux-2.4.13-pre5/drivers/video/matrox/matroxfb_base.c Sun Sep 30
21:26:08 2001
+++ linux-2.4.13-pre5-rs/drivers/video/matrox/matroxfb_base.c Sun Oct 21
12:46:21 2001
@@ -2355,7 +2355,7 @@
         if (!options || !*options)
                 return 0;
 
- for(this_opt=strtok(options,","); this_opt; this_opt=strtok(NULL,",")) {
+ while (this_opt = strsep(&options, ",")) {
                 if (!*this_opt) continue;
 
                 dprintk("matroxfb_setup: option %s\n", this_opt);
diff -ur linux-2.4.13-pre5/drivers/video/platinumfb.c
linux-2.4.13-pre5-rs/drivers/video/platinumfb.c
--- linux-2.4.13-pre5/drivers/video/platinumfb.c Fri Sep 14 01:04:43 2001
+++ linux-2.4.13-pre5-rs/drivers/video/platinumfb.c Sun Oct 21 12:52:45 2001
@@ -841,8 +841,7 @@
         if (!options || !*options)
                 return 0;
 
- for (this_opt = strtok(options, ","); this_opt;
- this_opt = strtok(NULL, ",")) {
+ while (this_opt = strsep(&options, ",")) {
                 if (!strncmp(this_opt, "font:", 5)) {
                         char *p;
                         int i;
diff -ur linux-2.4.13-pre5/drivers/video/radeonfb.c
linux-2.4.13-pre5-rs/drivers/video/radeonfb.c
--- linux-2.4.13-pre5/drivers/video/radeonfb.c Sun Sep 9 19:52:35 2001
+++ linux-2.4.13-pre5-rs/drivers/video/radeonfb.c Sun Oct 21 12:53:17 2001
@@ -537,8 +537,7 @@
         if (!options || !*options)
                 return 0;
  
- for (this_opt = strtok (options, ","); this_opt;
- this_opt = strtok (NULL, ",")) {
+ while (this_opt = strsep (&options, ",")) {
                 if (!strncmp (this_opt, "font:", 5)) {
                         char *p;
                         int i;
diff -ur linux-2.4.13-pre5/drivers/video/retz3fb.c
linux-2.4.13-pre5-rs/drivers/video/retz3fb.c
--- linux-2.4.13-pre5/drivers/video/retz3fb.c Fri Sep 14 01:04:43 2001
+++ linux-2.4.13-pre5-rs/drivers/video/retz3fb.c Sun Oct 21 12:53:49 2001
@@ -1348,8 +1348,7 @@
         if (!options || !*options)
                 return 0;
 
- for (this_opt = strtok(options, ","); this_opt;
- this_opt = strtok(NULL, ",")){
+ while (this_opt = strsep(&options, ",")) {
                 if (!strcmp(this_opt, "inverse")) {
                         z3fb_inverse = 1;
                         fb_invert_cmaps();
diff -ur linux-2.4.13-pre5/drivers/video/riva/fbdev.c
linux-2.4.13-pre5-rs/drivers/video/riva/fbdev.c
--- linux-2.4.13-pre5/drivers/video/riva/fbdev.c Sun Sep 30 21:26:08 2001
+++ linux-2.4.13-pre5-rs/drivers/video/riva/fbdev.c Sun Oct 21 12:54:12 2001
@@ -2045,8 +2045,7 @@
         if (!options || !*options)
                 return 0;
 
- for (this_opt = strtok(options, ","); this_opt;
- this_opt = strtok(NULL, ",")) {
+ while (this_opt = strsep(&options, ",")) {
                 if (!strncmp(this_opt, "font:", 5)) {
                         char *p;
                         int i;
diff -ur linux-2.4.13-pre5/drivers/video/sa1100fb.c
linux-2.4.13-pre5-rs/drivers/video/sa1100fb.c
--- linux-2.4.13-pre5/drivers/video/sa1100fb.c Fri Sep 14 01:04:43 2001
+++ linux-2.4.13-pre5-rs/drivers/video/sa1100fb.c Sun Oct 21 12:54:46 2001
@@ -2299,8 +2299,7 @@
         if (!options || !*options)
                 return 0;
 
- for (this_opt = strtok(options, ","); this_opt;
- this_opt = strtok(NULL, ",")) {
+ while (this_opt = strsep(&options, ",")) {
 
                 if (!strncmp(this_opt, "bpp:", 4))
                         current_par.max_bpp =
diff -ur linux-2.4.13-pre5/drivers/video/sgivwfb.c
linux-2.4.13-pre5-rs/drivers/video/sgivwfb.c
--- linux-2.4.13-pre5/drivers/video/sgivwfb.c Fri Feb 9 20:30:23 2001
+++ linux-2.4.13-pre5-rs/drivers/video/sgivwfb.c Sun Oct 21 12:57:06 2001
@@ -862,8 +862,7 @@
   if (!options || !*options)
     return 0;
 
- for (this_opt = strtok(options, ","); this_opt;
- this_opt = strtok(NULL, ",")) {
+ while (this_opt = strsep(&options, ",")) {
     if (!strncmp(this_opt, "font:", 5))
       strcpy(fb_info.fontname, this_opt+5);
   }
diff -ur linux-2.4.13-pre5/drivers/video/sis/sis_main.c
linux-2.4.13-pre5-rs/drivers/video/sis/sis_main.c
--- linux-2.4.13-pre5/drivers/video/sis/sis_main.c Fri Sep 14 23:40:00 2001
+++ linux-2.4.13-pre5-rs/drivers/video/sis/sis_main.c Sun Oct 21 12:57:29 2001
@@ -1726,8 +1726,7 @@
         if (!options || !*options)
                 return 0;
 
- for (this_opt = strtok(options, ","); this_opt;
- this_opt = strtok(NULL, ",")) {
+ while (this_opt = strsep(&options, ",")) {
                 if (!*this_opt)
                         continue;
 
diff -ur linux-2.4.13-pre5/drivers/video/sstfb.c
linux-2.4.13-pre5-rs/drivers/video/sstfb.c
--- linux-2.4.13-pre5/drivers/video/sstfb.c Fri Sep 7 18:28:38 2001
+++ linux-2.4.13-pre5-rs/drivers/video/sstfb.c Sun Oct 21 12:57:57 2001
@@ -1697,8 +1697,7 @@
         if (!options || !*options)
                 return 0;
 
- for(this_opt = strtok(options, ","); this_opt;
- this_opt = strtok(NULL, ",")) {
+ while (this_opt = strsep(&options, ",")) {
                 if (!*this_opt) continue;
 
                 f_ddprintk("option %s\n", this_opt);
diff -ur linux-2.4.13-pre5/drivers/video/tdfxfb.c
linux-2.4.13-pre5-rs/drivers/video/tdfxfb.c
--- linux-2.4.13-pre5/drivers/video/tdfxfb.c Sun Oct 21 13:06:22 2001
+++ linux-2.4.13-pre5-rs/drivers/video/tdfxfb.c Sun Oct 21 12:58:28 2001
@@ -2086,9 +2086,7 @@
   if(!options || !*options)
     return;
 
- for(this_opt = strtok(options, ",");
- this_opt;
- this_opt = strtok(NULL, ",")) {
+ while(this_opt = strsep(&options, ",")) {
     if(!strcmp(this_opt, "inverse")) {
       inverse = 1;
       fb_invert_cmaps();
diff -ur linux-2.4.13-pre5/drivers/video/tgafb.c
linux-2.4.13-pre5-rs/drivers/video/tgafb.c
--- linux-2.4.13-pre5/drivers/video/tgafb.c Fri Sep 14 01:04:43 2001
+++ linux-2.4.13-pre5-rs/drivers/video/tgafb.c Sun Oct 21 13:00:04 2001
@@ -889,7 +889,7 @@
     int i;
     
     if (options && *options) {
- for(this_opt=strtok(options,","); this_opt; this_opt=strtok(NULL,",")) {
+ while (this_opt = strsep(&options, ",")) {
                    if (!*this_opt) { continue; }
         
             if (!strncmp(this_opt, "font:", 5)) {
diff -ur linux-2.4.13-pre5/drivers/video/valkyriefb.c
linux-2.4.13-pre5-rs/drivers/video/valkyriefb.c
--- linux-2.4.13-pre5/drivers/video/valkyriefb.c Fri Sep 14 01:04:43 2001
+++ linux-2.4.13-pre5-rs/drivers/video/valkyriefb.c Sun Oct 21 13:00:27 2001
@@ -801,8 +801,7 @@
         if (!options || !*options)
                 return 0;
 
- for (this_opt = strtok(options, ","); this_opt;
- this_opt = strtok(NULL, ",")) {
+ while (this_opt = strsep(&options, ",")) {
                 if (!strncmp(this_opt, "font:", 5)) {
                         char *p;
                         int i;
diff -ur linux-2.4.13-pre5/drivers/video/vesafb.c
linux-2.4.13-pre5-rs/drivers/video/vesafb.c
--- linux-2.4.13-pre5/drivers/video/vesafb.c Wed Apr 18 20:49:12 2001
+++ linux-2.4.13-pre5-rs/drivers/video/vesafb.c Sun Oct 21 13:00:46 2001
@@ -457,7 +457,7 @@
         if (!options || !*options)
                 return 0;
         
- for(this_opt=strtok(options,","); this_opt; this_opt=strtok(NULL,",")) {
+ while (this_opt = strsep(&options, ",")) {
                 if (!*this_opt) continue;
                 
                 if (! strcmp(this_opt, "inverse"))
diff -ur linux-2.4.13-pre5/drivers/video/vfb.c
linux-2.4.13-pre5-rs/drivers/video/vfb.c
--- linux-2.4.13-pre5/drivers/video/vfb.c Fri Sep 14 01:04:43 2001
+++ linux-2.4.13-pre5-rs/drivers/video/vfb.c Sun Oct 21 13:01:03 2001
@@ -382,8 +382,7 @@
     if (!options || !*options)
         return 0;
 
- for (this_opt = strtok(options, ","); this_opt;
- this_opt = strtok(NULL, ",")) {
+ while (this_opt = strsep(&options, ",")) {
         if (!strncmp(this_opt, "font:", 5))
             strcpy(fb_info.fontname, this_opt+5);
     }
diff -ur linux-2.4.13-pre5/drivers/video/vga16fb.c
linux-2.4.13-pre5-rs/drivers/video/vga16fb.c
--- linux-2.4.13-pre5/drivers/video/vga16fb.c Fri Sep 14 01:04:43 2001
+++ linux-2.4.13-pre5-rs/drivers/video/vga16fb.c Sun Oct 21 13:01:51 2001
@@ -692,7 +692,7 @@
         if (!options || !*options)
                 return 0;
         
- for(this_opt=strtok(options,","); this_opt; this_opt=strtok(NULL,",")) {
+ while (this_opt = strsep(&options, ",")) {
                 if (!*this_opt) continue;
                 
                 if (!strncmp(this_opt, "font:", 5))
diff -ur linux-2.4.13-pre5/drivers/video/virgefb.c
linux-2.4.13-pre5-rs/drivers/video/virgefb.c
--- linux-2.4.13-pre5/drivers/video/virgefb.c Fri Sep 14 01:04:43 2001
+++ linux-2.4.13-pre5-rs/drivers/video/virgefb.c Sun Oct 21 13:02:11 2001
@@ -1085,7 +1085,7 @@
         if (!options || !*options)
                 return 0;
 
- for (this_opt = strtok(options, ","); this_opt; this_opt = strtok(NULL,
","))
+ while (this_opt = strsep(&options, ",")) {
                 if (!strcmp(this_opt, "inverse")) {
                         Cyberfb_inverse = 1;
                         fb_invert_cmaps();
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Tue Oct 23 2001 - 21:00:27 EST