Enlightenment CVS committal Author : sebastid Project : e17 Module : apps/e
Dir : e17/apps/e/src/modules/cpufreq Modified Files: e_mod_main.c Log Message: Remove sscanf =================================================================== RCS file: /cvsroot/enlightenment/e17/apps/e/src/modules/cpufreq/e_mod_main.c,v retrieving revision 1.25 retrieving revision 1.26 diff -u -3 -r1.25 -r1.26 --- e_mod_main.c 25 Sep 2005 05:30:09 -0000 1.25 +++ e_mod_main.c 25 Oct 2005 10:51:58 -0000 1.26 @@ -662,7 +662,7 @@ char buf[4096]; Evas_List *l; #ifdef __FreeBSD__ - int freq, num, i; + int freq, i; size_t len = 0; char *freqs, *pos, *q; @@ -671,33 +671,26 @@ if (sysctlbyname("dev.cpu.0.freq_levels", buf, &len, NULL, 0) == 0) { /* sysctl returns 0 on success */ - if (e->frequencies) { evas_list_free(e->frequencies); e->frequencies = NULL; } - - /* go through freqs and cound them */ - num = 1; - for (pos = buf; *pos != 0; pos++) - { - if (*pos == ' ') - { - num++; - } - } - + /* parse freqs and store the frequencies in e->frequencies */ - for (i = 0, pos=buf; i < num; i++) + pos = buf; + while (pos) { - q = strchr(pos, ' '); - if (q != NULL) *q = '\0'; - - sscanf(pos, "%d/%*d", &freq); - freq*=1000; + q = strchr(pos, '/'); + if (!q) break; + + *q = '\0'; + freq = atoi(pos); + freq *= 1000; e->frequencies = evas_list_append(e->frequencies, (void *)freq); + pos = q + 1; + pos = strchr(pos, ' '); } } ------------------------------------------------------- This SF.Net email is sponsored by the JBoss Inc. Get Certified Today * Register for a JBoss Training Course Free Certification Exam for All Training Attendees Through End of 2005 Visit http://www.jboss.com/services/certification for more information _______________________________________________ enlightenment-cvs mailing list enlightenment-cvs@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs