Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
View | Details | Raw Unified | Return to bug 103189 | Differences between
and this patch

Collapse All | Expand All

(-)src/pcm/pcm_ladspa.c.orig (+25 lines)
Lines 28-34 Link Here
28
  
28
  
29
#include <dirent.h>
29
#include <dirent.h>
30
#include <dlfcn.h>
30
#include <dlfcn.h>
31
#ifdef HAS_WORDEXP
31
#include <wordexp.h>
32
#include <wordexp.h>
33
#else
34
#include <glob.h>
35
#endif
32
#include <locale.h>
36
#include <locale.h>
33
#include "pcm_local.h"
37
#include "pcm_local.h"
34
#include "pcm_plugin.h"
38
#include "pcm_plugin.h"
Lines 815-827 Link Here
815
{
819
{
816
	const char *c;
820
	const char *c;
817
	size_t l;
821
	size_t l;
822
#ifdef HAS_WORDEXP
818
	wordexp_t we;
823
	wordexp_t we;
824
#else
825
	glob_t globbuf;
826
#endif
819
	int err;
827
	int err;
820
	
828
	
821
	for (c = path; (l = strcspn(c, ": ")) > 0; ) {
829
	for (c = path; (l = strcspn(c, ": ")) > 0; ) {
822
		char name[l + 1];
830
		char name[l + 1];
823
		memcpy(name, c, l);
831
		memcpy(name, c, l);
824
		name[l] = 0;
832
		name[l] = 0;
833
#ifdef HAS_WORDEXP
825
		err = wordexp(name, &we, WRDE_NOCMD);
834
		err = wordexp(name, &we, WRDE_NOCMD);
826
		switch (err) {
835
		switch (err) {
827
		case WRDE_NOSPACE:
836
		case WRDE_NOSPACE:
Lines 835-840 Link Here
835
		}
844
		}
836
		err = snd_pcm_ladspa_check_dir(plugin, we.we_wordv[0], label, ladspa_id);
845
		err = snd_pcm_ladspa_check_dir(plugin, we.we_wordv[0], label, ladspa_id);
837
		wordfree(&we);
846
		wordfree(&we);
847
#else
848
		err = glob(name, 0, NULL, &globbuf);
849
		switch(err) {
850
		case GLOB_NOSPACE:
851
			return -ENOMEM;
852
		case 0:
853
			if (globbuf.gl_pathc == 1)
854
				break;
855
			/* Fall Through */
856
		default:
857
			return -EINVAL;
858
		}
859
		err = snd_pcm_ladspa_check_dir(plugin, globbuf.gl_pathv[0], label, ladspa_id);
860
		globfree(&globbuf);
861
#endif
862
838
		if (err < 0)
863
		if (err < 0)
839
			return err;
864
			return err;
840
		if (err > 0)
865
		if (err > 0)
(-)src/alisp/alisp.c (-1 lines)
Lines 30-36 Link Here
30
#include <ctype.h>
30
#include <ctype.h>
31
#include <math.h>
31
#include <math.h>
32
#include <err.h>
32
#include <err.h>
33
#include <wordexp.h>
34
33
35
#define alisp_seq_iterator alisp_object
34
#define alisp_seq_iterator alisp_object
36
35
(-)src/conf.c (-1 lines)
Lines 415-421 Link Here
415
415
416
416
417
#include <stdarg.h>
417
#include <stdarg.h>
418
#include <wordexp.h>
419
#include <dlfcn.h>
418
#include <dlfcn.h>
420
#include <limits.h>
419
#include <limits.h>
421
#include <sys/stat.h>
420
#include <sys/stat.h>
(-)src/names.c (-1 lines)
Lines 31-37 Link Here
31
 */
31
 */
32
32
33
#include <stdarg.h>
33
#include <stdarg.h>
34
#include <wordexp.h>
35
#include <dlfcn.h>
34
#include <dlfcn.h>
36
#include <limits.h>
35
#include <limits.h>
37
#include <sys/stat.h>
36
#include <sys/stat.h>
(-)src/userfile.c (+26 lines)
Lines 20-26 Link Here
20
  
20
  
21
#include <string.h>
21
#include <string.h>
22
#include <errno.h>
22
#include <errno.h>
23
#ifdef HAS_WORDEXP
23
#include <wordexp.h>
24
#include <wordexp.h>
25
#else
26
#include <glob.h>
27
#endif
24
#include <assert.h>
28
#include <assert.h>
25
29
26
/**
30
/**
Lines 34-43 Link Here
34
 */
38
 */
35
int snd_user_file(const char *file, char **result)
39
int snd_user_file(const char *file, char **result)
36
{
40
{
41
#ifdef HAS_WORDEXP
37
	wordexp_t we;
42
	wordexp_t we;
43
#else
44
	glob_t  globbuf;
45
#endif
38
	int err;
46
	int err;
39
	
47
	
40
	assert(file && result);
48
	assert(file && result);
49
#ifdef HAS_WORDEXP
41
	err = wordexp(file, &we, WRDE_NOCMD);
50
	err = wordexp(file, &we, WRDE_NOCMD);
42
	switch (err) {
51
	switch (err) {
43
	case WRDE_NOSPACE:
52
	case WRDE_NOSPACE:
Lines 54-58 Link Here
54
	if (*result == NULL)
63
	if (*result == NULL)
55
		return -ENOMEM;
64
		return -ENOMEM;
56
	wordfree(&we);
65
	wordfree(&we);
66
#else
67
	err = glob(file, 0, NULL, &globbuf);
68
	switch (err){
69
		case GLOB_NOSPACE:
70
			err = -ENOMEM;
71
		case 0:
72
			if (globbuf.gl_pathc == 1)
73
				break;
74
			/* fall thru*/
75
		default:
76
			return -EINVAL;
77
	}
78
	*result = strdup(globbuf.gl_pathv[0]);
79
	if (*result == NULL)
80
		return -ENOMEM;
81
	globfree(&globbuf);
82
#endif
57
	return 0;
83
	return 0;
58
}
84
}

Return to bug 103189