|
Line
Link Here
|
| 0 |
-- a/src/vdpau_wrapper.c |
0 |
++ b/src/vdpau_wrapper.c |
|
Lines 313-343
Link Here
|
| 313 |
{ |
313 |
{ |
| 314 |
FILE *fp; |
314 |
FILE *fp; |
| 315 |
char buffer[1024]; |
315 |
char buffer[1024]; |
| 316 |
int ret, i; |
|
|
| 317 |
|
316 |
|
| 318 |
fp = fopen("/proc/self/cmdline", "r"); |
317 |
fp = fopen("/proc/self/maps", "r"); |
| 319 |
if (!fp) { |
318 |
if (!fp) { |
| 320 |
return; |
319 |
return; |
| 321 |
} |
320 |
} |
| 322 |
ret = fread(buffer, 1, sizeof(buffer) - 1, fp); |
|
|
| 323 |
fclose(fp); |
| 324 |
if (ret < 0) { |
| 325 |
return; |
| 326 |
} |
| 327 |
/* |
| 328 |
* Sometimes the file contains null between arguments. Wipe these out so |
| 329 |
* strstr doesn't stop early. |
| 330 |
*/ |
| 331 |
for (i = 0; i < ret; i++) { |
| 332 |
if (buffer[i] == '\0') { |
| 333 |
buffer[i] = 'x'; |
| 334 |
} |
| 335 |
} |
| 336 |
buffer[ret] = '\0'; |
| 337 |
|
321 |
|
| 338 |
if (strstr(buffer, "libflashplayer") != NULL) { |
322 |
while( fgets(buffer, sizeof(buffer), fp)) { |
| 339 |
_running_under_flash = 1; |
323 |
if (strstr(buffer, "libflashplayer") != NULL) |
|
|
324 |
_running_under_flash = 1; |
| 340 |
} |
325 |
} |
|
|
326 |
|
| 327 |
fclose(fp); |
| 328 |
|
| 341 |
} |
329 |
} |
| 342 |
|
330 |
|
| 343 |
void init_config(void) |
331 |
void init_config(void) |